
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* 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 "LogEventType": Some values do not have unique names */

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

{
  double *pdVar1;
  char *source;
  char *source_00;
  long lVar2;
  size_t sVar3;
  MagickBooleanType MVar4;
  MagickStatusType MVar5;
  int iVar6;
  int iVar7;
  Image *pIVar8;
  int *piVar9;
  ulong uVar10;
  DelegateInfo *delegate_info;
  char *pcVar11;
  char *pcVar12;
  ImageInfo *image_info_00;
  char *format;
  Image *pIVar13;
  ulong uVar14;
  uint uVar15;
  long in_FS_OFFSET;
  bool bVar16;
  double dVar17;
  RectangleInfo bounding_box;
  RectangleInfo page;
  SegmentInfo bounds;
  char command [4096];
  char filename [4096];
  char geometry [4096];
  char input_filename [4096];
  
  lVar2 = *(long *)(in_FS_OFFSET + 0x28);
  if (image_info == (ImageInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");
  }
  if (image_info->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");
  }
  if (image_info->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"coders/pcl.c","ReadPCLImage",0xc9,"%s",image_info->filename);
  }
  if (exception == (ExceptionInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");
  }
  if (exception->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");
  }
  pIVar8 = AcquireImage(image_info,exception);
  MVar4 = OpenBlob(image_info,pIVar8,ReadBinaryBlobMode,exception);
  if (MVar4 == MagickFalse) {
    DestroyImageList(pIVar8);
    pIVar8 = (Image *)0x0;
  }
  else {
    source = image_info->filename;
    MVar4 = AcquireUniqueSymbolicLink(source,input_filename);
    if (MVar4 == MagickFalse) {
      piVar9 = __errno_location();
      pcVar11 = GetExceptionMessage(*piVar9);
      ThrowMagickException
                (exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,
                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11);
      DestroyString(pcVar11);
      DestroyImageList(pIVar8);
      pIVar8 = (Image *)0x0;
    }
    else {
      if (((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)) {
        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);
        (pIVar8->resolution).x = bounds.x1;
        if ((MVar5 & 8) == 0) {
          (pIVar8->resolution).y = bounds.x1;
        }
        else {
          (pIVar8->resolution).y = bounds.y1;
        }
      }
      bVar16 = pIVar8->colorspace == CMYKColorspace;
      bounds.x1 = 0.0;
      bounds.y1 = 0.0;
      bounds.x2 = 0.0;
      bounds.y2 = 0.0;
      page.width = 0;
      page.height = 0;
      page.x = 0;
      page.y = 0;
      memset(command,0,0x1000);
      iVar6 = ReadBlobByte(pIVar8);
      if (iVar6 != -1) {
        iVar7 = 0;
        pdVar1 = &bounds.y2;
        pcVar11 = command;
        do {
          pcVar12 = pcVar11;
          if ((image_info->page == (char *)0x0) &&
             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||
              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {
            pcVar11[1] = '\0';
            iVar6 = LocaleNCompare("DeviceCMYK",command,10);
            if (iVar6 == 0) {
              bVar16 = true;
            }
            iVar6 = LocaleNCompare("CropBox",command,7);
            if (iVar6 == 0) {
              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1
                            );
              if (iVar6 != 4) {
                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,
                               pdVar1);
                goto LAB_00387fa1;
              }
              iVar6 = LocaleNCompare("MediaBox",command,8);
              if (iVar6 == 0) goto LAB_0038807b;
            }
            else {
LAB_00387fa1:
              iVar6 = LocaleNCompare("MediaBox",command,8);
              if (iVar6 == 0) {
LAB_0038807b:
                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,
                               pdVar1);
                if (iVar6 == 4) goto LAB_003880b0;
                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,
                               pdVar1);
              }
              pcVar12 = command;
              if (iVar7 != 4) goto LAB_00387fd6;
            }
LAB_003880b0:
            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;
            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {
              dVar17 = (double)((ulong)((double)(long)dVar17 -
                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &
                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17
                               );
            }
            if (DAT_003f9c40 <= dVar17) {
              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;
            }
            else {
              uVar14 = (ulong)dVar17;
            }
            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;
            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {
              dVar17 = (double)((ulong)((double)(long)dVar17 -
                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &
                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17
                               );
            }
            if (DAT_003f9c40 <= dVar17) {
              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;
            }
            else {
              uVar10 = (ulong)dVar17;
            }
            if (page.width < uVar14) {
              page.width = uVar14;
            }
            if (page.height < uVar10) {
              iVar7 = 4;
              pcVar12 = command;
              page.height = uVar10;
            }
            else {
              iVar7 = 4;
              pcVar12 = command;
            }
          }
LAB_00387fd6:
          iVar6 = ReadBlobByte(pIVar8);
          pcVar11 = pcVar12;
        } while (iVar6 != -1);
      }
      CloseBlob(pIVar8);
      if ((page.width == 0) || (page.height == 0)) {
        ParseAbsoluteGeometry("612x792",&page);
      }
      if (image_info->page != (char *)0x0) {
        ParseAbsoluteGeometry(image_info->page,&page);
      }
      FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);
      if (image_info->monochrome == MagickFalse) {
        if (bVar16) {
          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);
        }
        else {
          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);
        }
      }
      else {
        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);
      }
      if (delegate_info == (DelegateInfo *)0x0) {
        DestroyImage(pIVar8);
        pIVar8 = (Image *)0x0;
      }
      else {
        if ((page.width == 0) || (page.height == 0)) {
          ParseAbsoluteGeometry("612x792",&page);
        }
        if (image_info->page != (char *)0x0) {
          ParseAbsoluteGeometry(image_info->page,&page);
        }
        pcVar11 = AcquireString("");
        pcVar12 = AcquireString("");
        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);
        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;
        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {
          dVar17 = (double)((ulong)((double)(long)dVar17 -
                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &
                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);
        }
        if (DAT_003f9c40 <= dVar17) {
          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;
        }
        else {
          page.width = (size_t)dVar17;
        }
        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;
        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {
          dVar17 = (double)((ulong)((double)(long)dVar17 -
                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &
                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);
        }
        if (DAT_003f9c40 <= dVar17) {
          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;
        }
        else {
          page.height = (size_t)dVar17;
        }
        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);
        DestroyImage(pIVar8);
        image_info_00 = CloneImageInfo(image_info);
        image_info_00->magick[0] = '\0';
        sVar3 = image_info_00->number_scenes;
        if (sVar3 != 0) {
          if (sVar3 == 1) {
            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",
                               (double)image_info_00->scene + DAT_003f9608,
                               (double)(image_info_00->scene + 1));
          }
          else {
            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",
                               (double)(sVar3 + image_info_00->scene));
          }
          image_info_00->number_scenes = 0;
          if (image_info_00->scenes != (char *)0x0) {
            *image_info_00->scenes = '\0';
          }
        }
        source_00 = image_info_00->filename;
        CopyMagickString(filename,source_00,0x1000);
        AcquireUniqueFilename(source_00);
        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;
        format = GetDelegateCommands(delegate_info);
        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,
                           source_00,input_filename);
        DestroyString(pcVar12);
        DestroyString(pcVar11);
        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);
        pIVar8 = ReadImage(image_info_00,exception);
        RelinquishUniqueFileResource(source_00);
        RelinquishUniqueFileResource(input_filename);
        DestroyImageInfo(image_info_00);
        if (pIVar8 == (Image *)0x0) {
          ThrowMagickException
                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"
                     ,"`%s\'",source);
          pIVar8 = (Image *)0x0;
        }
        else {
          iVar6 = LocaleCompare(pIVar8->magick,"BMP");
          if ((iVar6 == 0) &&
             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {
            DestroyImageList(pIVar8);
            pIVar8 = pIVar13;
          }
          do {
            pIVar13 = pIVar8;
            CopyMagickString(pIVar13->filename,filename,0x1000);
            (pIVar13->page).width = page.width;
            (pIVar13->page).height = page.height;
            (pIVar13->page).x = page.x;
            (pIVar13->page).y = page.y;
            pIVar8 = SyncNextImageInList(pIVar13);
          } while (pIVar8 != (Image *)0x0);
          pIVar8 = GetFirstImageInList(pIVar13);
        }
      }
    }
  }
  if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return pIVar8;
}



undefined8 FUN_00387c48(long param_1,long param_2)

{
  long lVar1;
  int iVar2;
  int iVar3;
  long lVar4;
  ulong uVar5;
  int *piVar6;
  ulong uVar7;
  long lVar8;
  undefined8 uVar9;
  undefined8 uVar10;
  long lVar11;
  undefined8 uVar12;
  char *pcVar13;
  char *pcVar14;
  long in_FS_OFFSET;
  bool bVar15;
  double dVar16;
  ulong local_4098;
  ulong local_4090;
  undefined8 local_4088;
  undefined8 local_4080;
  double local_4078;
  double local_4070;
  double local_4068;
  double local_4060 [3];
  char local_4048 [4096];
  undefined1 local_3048 [4096];
  undefined1 local_2048 [4096];
  undefined1 local_1048 [4104];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");
  }
  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");
  }
  if (*(int *)(param_1 + 0x3270) != 0) {
    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");
  }
  if (*(long *)(param_2 + 0x30) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");
  }
  lVar4 = AcquireImage(param_1,param_2);
  iVar2 = OpenBlob(param_1,lVar4,2,param_2);
  if (iVar2 == 0) {
    DestroyImageList(lVar4);
    uVar9 = 0;
  }
  else {
    lVar1 = param_1 + 0x2270;
    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);
    if (iVar2 == 0) {
      piVar6 = __errno_location();
      uVar9 = GetExceptionMessage(*piVar6);
      ThrowMagickException
                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",
                 "\'%s\': %s",lVar1,uVar9);
      DestroyString(uVar9);
      DestroyImageList(lVar4);
      uVar9 = 0;
    }
    else {
      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {
        uVar5 = ParseGeometry("72.0x72.0",&local_4078);
        *(double *)(lVar4 + 0x248) = local_4078;
        if ((uVar5 & 8) == 0) {
          *(double *)(lVar4 + 0x250) = local_4078;
        }
        else {
          *(double *)(lVar4 + 0x250) = local_4070;
        }
      }
      bVar15 = *(int *)(lVar4 + 4) == 2;
      local_4078 = 0.0;
      local_4070 = 0.0;
      local_4068 = 0.0;
      local_4060[0] = 0.0;
      local_4098 = 0;
      local_4090 = 0;
      local_4088 = 0;
      local_4080 = 0;
      memset(local_4048,0,0x1000);
      iVar2 = ReadBlobByte(lVar4);
      if (iVar2 != -1) {
        iVar3 = 0;
        pcVar14 = local_4048;
        do {
          pcVar13 = pcVar14;
          if ((*(long *)(param_1 + 0x28) == 0) &&
             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||
              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {
            pcVar14[1] = '\0';
            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);
            if (iVar2 == 0) {
              bVar15 = true;
            }
            iVar2 = LocaleNCompare("CropBox",local_4048,7);
            if (iVar2 == 0) {
              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,
                             &local_4068,local_4060);
              if (iVar2 != 4) {
                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,
                               &local_4068,local_4060);
                goto LAB_00387fa1;
              }
              iVar2 = LocaleNCompare("MediaBox",local_4048,8);
              if (iVar2 == 0) goto LAB_0038807b;
            }
            else {
LAB_00387fa1:
              iVar2 = LocaleNCompare("MediaBox",local_4048,8);
              if (iVar2 == 0) {
LAB_0038807b:
                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,
                               &local_4068,local_4060);
                if (iVar2 == 4) goto LAB_003880b0;
                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,
                               &local_4068,local_4060);
              }
              pcVar13 = local_4048;
              if (iVar3 != 4) goto LAB_00387fd6;
            }
LAB_003880b0:
            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;
            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {
              dVar16 = (double)((ulong)((double)(long)dVar16 -
                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &
                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16
                               );
            }
            if (DAT_003f9c40 <= dVar16) {
              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;
            }
            else {
              uVar5 = (ulong)dVar16;
            }
            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;
            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {
              dVar16 = (double)((ulong)((double)(long)dVar16 -
                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &
                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16
                               );
            }
            if (DAT_003f9c40 <= dVar16) {
              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;
            }
            else {
              uVar7 = (ulong)dVar16;
            }
            if (local_4098 < uVar5) {
              local_4098 = uVar5;
            }
            if (local_4090 < uVar7) {
              iVar3 = 4;
              pcVar13 = local_4048;
              local_4090 = uVar7;
            }
            else {
              iVar3 = 4;
              pcVar13 = local_4048;
            }
          }
LAB_00387fd6:
          iVar2 = ReadBlobByte(lVar4);
          pcVar14 = pcVar13;
        } while (iVar2 != -1);
      }
      CloseBlob(lVar4);
      if ((local_4098 == 0) || (local_4090 == 0)) {
        ParseAbsoluteGeometry("612x792",&local_4098);
      }
      if (*(long *)(param_1 + 0x28) != 0) {
        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);
      }
      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");
      if (*(int *)(param_1 + 0x204) == 0) {
        if (bVar15) {
          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);
        }
        else {
          lVar8 = GetDelegateInfo("pcl:color",0,param_2);
        }
      }
      else {
        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);
      }
      if (lVar8 == 0) {
        DestroyImage(lVar4);
        uVar9 = 0;
      }
      else {
        if ((local_4098 == 0) || (local_4090 == 0)) {
          ParseAbsoluteGeometry("612x792",&local_4098);
        }
        if (*(long *)(param_1 + 0x28) != 0) {
          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);
        }
        uVar9 = AcquireString(&DAT_00473ecb);
        uVar10 = AcquireString(&DAT_00473ecb);
        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,
                           0x1000,"%gx%g");
        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;
        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {
          dVar16 = (double)((ulong)((double)(long)dVar16 -
                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &
                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);
        }
        if (DAT_003f9c40 <= dVar16) {
          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;
        }
        else {
          local_4098 = (ulong)dVar16;
        }
        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;
        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {
          dVar16 = (double)((ulong)((double)(long)dVar16 -
                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &
                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);
        }
        if (DAT_003f9c40 <= dVar16) {
          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;
        }
        else {
          local_4090 = (ulong)dVar16;
        }
        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");
        DestroyImage(lVar4);
        lVar11 = CloneImageInfo(param_1);
        *(undefined1 *)(lVar11 + 0x270) = 0;
        lVar4 = *(long *)(lVar11 + 0x40);
        if (lVar4 != 0) {
          if (lVar4 == 1) {
            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,
                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,
                               "-dFirstPage=%.20g -dLastPage=%.20g");
          }
          else {
            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,
                               "-dLastPage=%.20g");
          }
          *(undefined8 *)(lVar11 + 0x40) = 0;
          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {
            **(undefined1 **)(lVar11 + 0x30) = 0;
          }
        }
        lVar4 = lVar11 + 0x2270;
        CopyMagickString(local_3048,lVar4,0x1000);
        AcquireUniqueFilename(lVar4);
        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;
        uVar12 = GetDelegateCommands(lVar8);
        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);
        DestroyString(uVar10);
        DestroyString(uVar9);
        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);
        lVar8 = ReadImage(lVar11,param_2);
        RelinquishUniqueFileResource(lVar4);
        RelinquishUniqueFileResource(local_1048);
        DestroyImageInfo(lVar11);
        if (lVar8 == 0) {
          ThrowMagickException
                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",
                     lVar1);
          uVar9 = 0;
        }
        else {
          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);
          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {
            DestroyImageList(lVar8);
            lVar8 = lVar4;
          }
          do {
            lVar4 = lVar8;
            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);
            *(ulong *)(lVar4 + 600) = local_4098;
            *(ulong *)(lVar4 + 0x260) = local_4090;
            *(undefined8 *)(lVar4 + 0x268) = local_4088;
            *(undefined8 *)(lVar4 + 0x270) = local_4080;
            lVar8 = SyncNextImageInList(lVar4);
          } while (lVar8 != 0);
          uVar9 = GetFirstImageInList(lVar4);
        }
      }
    }
  }
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return uVar9;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x40a8
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x4098],RAX
XOR EAX,EAX
TEST RDI,RDI
JZ 0x00387e1b
MOV RBP,RDI
MOV R13,RSI
MOV EAX,0xabacadab
CMP qword ptr [RDI + 0x3278],RAX
JNZ 0x00387e3a
CMP dword ptr [RDI + 0x3270],0x0
JNZ 0x00387e59
TEST R13,R13
JZ 0x00387e8e
MOV EAX,0xabacadab
CMP qword ptr [R13 + 0x30],RAX
JNZ 0x00387ead
MOV RSI,R13
MOV RDI,RBP
CALL 0x0014ab00
MOV RBX,RAX
MOV RCX,R13
MOV EDX,0x2
MOV RSI,RAX
MOV RDI,RBP
CALL 0x0014bc60
TEST EAX,EAX
JZ 0x00387ecc
LEA RAX,[RBP + 0x2270]
MOV qword ptr [RSP + 0x18],RAX
LEA RSI,[RSP + 0x3090]
MOV RDI,RAX
CALL 0x0014ca40
TEST EAX,EAX
JZ 0x00387ede
PXOR XMM0,XMM0
UCOMISD XMM0,qword ptr [RBX + 0x248]
JP 0x00387d0f
JZ 0x00387d1f
PXOR XMM0,XMM0
UCOMISD XMM0,qword ptr [RBX + 0x250]
JP 0x00387d54
JNZ 0x00387d54
LEA RSI,[RSP + 0x60]
LEA RDI,[0x473caf]
CALL 0x0014b290
MOVSD XMM0,qword ptr [RSP + 0x60]
MOVSD qword ptr [RBX + 0x248],XMM0
TEST AL,0x8
JZ 0x00387f49
MOVSD XMM0,qword ptr [RSP + 0x68]
MOVSD qword ptr [RBX + 0x250],XMM0
CMP dword ptr [RBX + 0x4],0x2
SETZ R15B
MOVZX R15D,R15B
MOV qword ptr [RSP + 0x20],0x0
MOV qword ptr [RSP + 0x28],0x0
MOV qword ptr [RSP + 0x30],0x0
MOV qword ptr [RSP + 0x38],0x0
MOV qword ptr [RSP + 0x60],0x0
MOV qword ptr [RSP + 0x68],0x0
MOV qword ptr [RSP + 0x70],0x0
MOV qword ptr [RSP + 0x78],0x0
MOV qword ptr [RSP + 0x40],0x0
MOV qword ptr [RSP + 0x48],0x0
MOV qword ptr [RSP + 0x50],0x0
MOV qword ptr [RSP + 0x58],0x0
LEA RDI,[RSP + 0x90]
MOV EDX,0x1000
MOV ESI,0x0
CALL 0x00149d30
MOV RDI,RBX
CALL 0x0014a220
CDQE
CMP RAX,-0x1
JZ 0x00388294
MOV qword ptr [RSP + 0x8],0x0
LEA R12,[RSP + 0x90]
LEA R14,[RSP + 0x60]
LEA RCX,[R14 + 0x18]
MOV qword ptr [RSP + 0x10],RCX
JMP 0x00387fea
LEA RCX,[0x473dd8]
MOV EDX,0xc6
LEA RSI,[0x473c13]
LEA RDI,[0x3f8cf0]
CALL 0x0014a360
LEA RCX,[0x473dd8]
MOV EDX,0xc7
LEA RSI,[0x473c13]
LEA RDI,[0x3f8d18]
CALL 0x0014a360
LEA R9,[RDI + 0x2270]
LEA R8,[0x41fe36]
MOV ECX,0xc9
LEA RDX,[0x473dc8]
LEA RSI,[0x473c13]
MOV EDI,0x8000
MOV EAX,0x0
CALL 0x0014be20
JMP 0x00387c9a
LEA RCX,[0x473dd8]
MOV EDX,0xcb
LEA RSI,[0x473c13]
LEA RDI,[0x3fa748]
CALL 0x0014a360
LEA RCX,[0x473dd8]
MOV EDX,0xcc
LEA RSI,[0x473c13]
LEA RDI,[0x3fb6a0]
CALL 0x0014a360
MOV RDI,RBX
CALL 0x0014af30
MOV EBP,0x0
JMP 0x00388952
CALL 0x0014c2f0
MOV EDI,dword ptr [RAX]
CALL 0x0014b460
MOV RBP,RAX
SUB RSP,0x8
PUSH RAX
PUSH qword ptr [RSP + 0x28]
LEA RAX,[0x3f86ec]
PUSH RAX
LEA R9,[0x3fa5a6]
MOV R8D,0x1ae
MOV ECX,0xdb
LEA RDX,[0x473dc8]
LEA RSI,[0x473c13]
MOV RDI,R13
MOV EAX,0x0
CALL 0x0014cb70
ADD RSP,0x20
MOV RDI,RBP
CALL 0x0014c570
MOV RDI,RBX
CALL 0x0014af30
MOV EBP,0x0
JMP 0x00388952
MOVSD qword ptr [RBX + 0x250],XMM0
JMP 0x00387d54
MOV byte ptr [R12 + 0x1],0x0
LEA RSI,[RSP + 0x90]
MOV EDX,0xa
LEA RDI,[0x473cb9]
CALL 0x0014aab0
TEST EAX,EAX
MOV EAX,0x1
CMOVZ R15D,EAX
LEA RSI,[RSP + 0x90]
MOV EDX,0x7
LEA RDI,[0x473cc4]
CALL 0x0014aab0
TEST EAX,EAX
JZ 0x0038802e
LEA RSI,[RSP + 0x90]
MOV EDX,0x8
LEA RDI,[0x473cfd]
CALL 0x0014aab0
TEST EAX,EAX
JZ 0x0038807b
LEA R12,[RSP + 0x90]
CMP qword ptr [RSP + 0x8],0x4
JZ 0x003880b0
MOV RDI,RBX
CALL 0x0014a220
CDQE
CMP RAX,-0x1
JZ 0x00388294
CMP qword ptr [RBP + 0x28],0x0
JNZ 0x00387fd6
MOV byte ptr [R12],AL
CMP RAX,0x2f
JZ 0x00387f56
CMP RAX,0xa
JZ 0x00387f56
LEA RAX,[R12 + 0x1]
LEA RDX,[RSP + 0x90]
MOV RCX,RAX
SUB RCX,RDX
CMP RCX,0xffe
JA 0x00387f56
MOV R12,RAX
JMP 0x00387fd6
LEA RCX,[R14 + 0x8]
LEA RDI,[RSP + 0x90]
MOV R12,qword ptr [RSP + 0x10]
MOV R9,R12
LEA R8,[R14 + 0x10]
MOV RDX,R14
LEA RSI,[0x473ccc]
CALL 0x0014b6c0
CMP EAX,0x4
JNZ 0x003881da
LEA RSI,[RSP + 0x90]
MOV EDX,0x8
LEA RDI,[0x473cfd]
CALL 0x0014aab0
TEST EAX,EAX
JNZ 0x003880b0
LEA RCX,[R14 + 0x8]
LEA RDI,[RSP + 0x90]
MOV R12,qword ptr [RSP + 0x10]
MOV R9,R12
LEA R8,[R14 + 0x10]
MOV RDX,R14
LEA RSI,[0x473d06]
MOV EAX,0x0
CALL 0x0014b6c0
CMP EAX,0x4
JNZ 0x0038820d
MOVSD XMM1,qword ptr [RSP + 0x70]
SUBSD XMM1,qword ptr [RSP + 0x60]
ADDSD XMM1,qword ptr [0x003f9c28]
MOVAPD XMM0,XMM1
MOVSD XMM3,qword ptr [0x003f9c70]
MOVAPD XMM2,XMM1
ANDPD XMM2,XMM3
MOVSD XMM4,qword ptr [0x003f9c30]
UCOMISD XMM4,XMM2
JBE 0x00388119
CVTTSD2SI RAX,XMM1
PXOR XMM2,XMM2
CVTSI2SD XMM2,RAX
MOVAPD XMM0,XMM2
CMPNLESD XMM0,XMM1
MOVSD XMM4,qword ptr [0x003f9608]
ANDPD XMM0,XMM4
SUBSD XMM2,XMM0
MOVAPD XMM0,XMM2
ANDNPD XMM3,XMM1
ORPD XMM0,XMM3
UCOMISD XMM0,qword ptr [0x003f9c40]
JNC 0x00388240
CVTTSD2SI RDX,XMM0
MOVSD XMM1,qword ptr [RSP + 0x78]
SUBSD XMM1,qword ptr [RSP + 0x68]
ADDSD XMM1,qword ptr [0x003f9c28]
MOVAPD XMM0,XMM1
MOVSD XMM3,qword ptr [0x003f9c70]
MOVAPD XMM2,XMM1
ANDPD XMM2,XMM3
MOVSD XMM4,qword ptr [0x003f9c30]
UCOMISD XMM4,XMM2
JBE 0x00388195
CVTTSD2SI RAX,XMM1
PXOR XMM2,XMM2
CVTSI2SD XMM2,RAX
MOVAPD XMM0,XMM2
CMPNLESD XMM0,XMM1
MOVSD XMM4,qword ptr [0x003f9608]
ANDPD XMM0,XMM4
SUBSD XMM2,XMM0
MOVAPD XMM0,XMM2
ANDNPD XMM3,XMM1
ORPD XMM0,XMM3
UCOMISD XMM0,qword ptr [0x003f9c40]
JNC 0x0038825f
CVTTSD2SI RAX,XMM0
CMP qword ptr [RSP + 0x40],RDX
JNC 0x003881b4
MOV qword ptr [RSP + 0x40],RDX
CMP qword ptr [RSP + 0x48],RAX
JNC 0x0038827e
MOV qword ptr [RSP + 0x48],RAX
MOV qword ptr [RSP + 0x8],0x4
LEA R12,[RSP + 0x90]
JMP 0x00387fd6
LEA RCX,[R14 + 0x8]
LEA RDI,[RSP + 0x90]
MOV R9,R12
LEA R8,[R14 + 0x10]
MOV RDX,R14
LEA RSI,[0x473ce5]
MOV EAX,0x0
CALL 0x0014b6c0
CDQE
MOV qword ptr [RSP + 0x8],RAX
JMP 0x00387fa1
LEA RCX,[R14 + 0x8]
LEA RDI,[RSP + 0x90]
MOV R9,R12
LEA R8,[R14 + 0x10]
MOV RDX,R14
LEA RSI,[0x473d20]
MOV EAX,0x0
CALL 0x0014b6c0
CDQE
MOV qword ptr [RSP + 0x8],RAX
JMP 0x00387fc2
SUBSD XMM0,qword ptr [0x003f9c40]
CVTTSD2SI RDX,XMM0
MOV RAX,-0x8000000000000000
XOR RDX,RAX
JMP 0x0038812c
SUBSD XMM0,qword ptr [0x003f9c40]
CVTTSD2SI RAX,XMM0
MOV RCX,-0x8000000000000000
XOR RAX,RCX
JMP 0x003881a8
MOV qword ptr [RSP + 0x8],0x4
LEA R12,[RSP + 0x90]
JMP 0x00387fd6
MOV RDI,RBX
CALL 0x0014a8f0
CMP qword ptr [RSP + 0x40],0x0
JZ 0x003882ac
CMP qword ptr [RSP + 0x48],0x0
JNZ 0x003882bd
LEA RSI,[RSP + 0x40]
LEA RDI,[0x3f874a]
CALL 0x0014d060
MOV RDI,qword ptr [RBP + 0x28]
TEST RDI,RDI
JZ 0x003882d0
LEA RSI,[RSP + 0x40]
CALL 0x0014d060
MOV RAX,qword ptr [RSP + 0x48]
TEST RAX,RAX
JS 0x003886b0
PXOR XMM1,XMM1
CVTSI2SD XMM1,RAX
MOV RAX,qword ptr [RSP + 0x40]
TEST RAX,RAX
JS 0x003886ce
PXOR XMM0,XMM0
CVTSI2SD XMM0,RAX
LEA RDI,[RSP + 0x2090]
LEA RDX,[0x43a668]
MOV ESI,0x1000
MOV EAX,0x2
CALL 0x0014d3c0
CMP dword ptr [RBP + 0x204],0x0
JNZ 0x003886ec
TEST R15D,R15D
JZ 0x00388708
MOV RDX,R13
MOV ESI,0x0
LEA RDI,[0x473d42]
CALL 0x0014bab0
MOV R15,RAX
TEST R15,R15
JZ 0x00388724
CMP qword ptr [RSP + 0x40],0x0
JZ 0x00388362
CMP qword ptr [RSP + 0x48],0x0
JNZ 0x00388373
LEA RSI,[RSP + 0x40]
LEA RDI,[0x3f874a]
CALL 0x0014d060
MOV RDI,qword ptr [RBP + 0x28]
TEST RDI,RDI
JZ 0x00388386
LEA RSI,[RSP + 0x40]
CALL 0x0014d060
LEA RDI,[0x473ecb]
CALL 0x0014a180
MOV R14,RAX
MOV qword ptr [RSP + 0x8],RAX
LEA RDI,[0x473ecb]
CALL 0x0014a180
MOV R12,RAX
MOVSD XMM1,qword ptr [RBX + 0x250]
MOVSD XMM0,qword ptr [RBX + 0x248]
LEA RDX,[0x41a5f2]
MOV ESI,0x1000
MOV RDI,R14
MOV EAX,0x2
CALL 0x0014d3c0
MOV RAX,qword ptr [RSP + 0x40]
TEST RAX,RAX
JS 0x00388736
PXOR XMM0,XMM0
CVTSI2SD XMM0,RAX
MULSD XMM0,qword ptr [RBX + 0x248]
DIVSD XMM0,qword ptr [0x003f9c20]
ADDSD XMM0,qword ptr [0x003f9c28]
MOVAPD XMM1,XMM0
MOVSD XMM3,qword ptr [0x003f9c70]
MOVAPD XMM2,XMM0
ANDPD XMM2,XMM3
MOVSD XMM4,qword ptr [0x003f9c30]
UCOMISD XMM4,XMM2
JBE 0x00388456
CVTTSD2SI RAX,XMM0
PXOR XMM2,XMM2
CVTSI2SD XMM2,RAX
MOVAPD XMM1,XMM2
CMPNLESD XMM1,XMM0
MOVSD XMM4,qword ptr [0x003f9608]
ANDPD XMM1,XMM4
SUBSD XMM2,XMM1
MOVAPD XMM1,XMM2
ANDNPD XMM3,XMM0
ORPD XMM1,XMM3
UCOMISD XMM1,qword ptr [0x003f9c40]
JNC 0x00388754
CVTTSD2SI RDX,XMM1
MOV qword ptr [RSP + 0x40],RDX
MOV RAX,qword ptr [RSP + 0x48]
TEST RAX,RAX
JS 0x00388773
PXOR XMM0,XMM0
CVTSI2SD XMM0,RAX
MULSD XMM0,qword ptr [RBX + 0x250]
DIVSD XMM0,qword ptr [0x003f9c20]
ADDSD XMM0,qword ptr [0x003f9c28]
MOVAPD XMM1,XMM0
MOVSD XMM3,qword ptr [0x003f9c70]
MOVAPD XMM2,XMM0
ANDPD XMM2,XMM3
MOVSD XMM4,qword ptr [0x003f9c30]
UCOMISD XMM4,XMM2
JBE 0x003884f2
CVTTSD2SI RAX,XMM0
PXOR XMM2,XMM2
CVTSI2SD XMM2,RAX
MOVAPD XMM1,XMM2
CMPNLESD XMM1,XMM0
MOVSD XMM4,qword ptr [0x003f9608]
ANDPD XMM1,XMM4
SUBSD XMM2,XMM1
MOVAPD XMM1,XMM2
ANDNPD XMM3,XMM0
ORPD XMM1,XMM3
UCOMISD XMM1,qword ptr [0x003f9c40]
JNC 0x00388791
CVTTSD2SI RAX,XMM1
MOV qword ptr [RSP + 0x48],RAX
TEST RAX,RAX
JS 0x003887b0
PXOR XMM1,XMM1
CVTSI2SD XMM1,RAX
TEST RDX,RDX
JS 0x003887ce
PXOR XMM0,XMM0
CVTSI2SD XMM0,RDX
LEA RDX,[0x473d55]
MOV ESI,0x1000
MOV RDI,R12
MOV EAX,0x2
CALL 0x0014d3c0
MOV RDI,RBX
CALL 0x0014caa0
MOV RDI,RBP
CALL 0x0014bf60
MOV RBX,RAX
MOV byte ptr [RAX + 0x270],0x0
MOV RAX,qword ptr [RAX + 0x40]
TEST RAX,RAX
JZ 0x003885b4
CMP RAX,0x1
JZ 0x0038880a
ADD RAX,qword ptr [RBX + 0x38]
JS 0x003887ec
PXOR XMM0,XMM0
CVTSI2SD XMM0,RAX
LEA RDX,[0x473d64]
MOV ESI,0x1000
MOV RDI,R12
MOV EAX,0x1
CALL 0x0014d3c0
MOV qword ptr [RBX + 0x40],0x0
MOV RAX,qword ptr [RBX + 0x30]
TEST RAX,RAX
JZ 0x003885b4
MOV byte ptr [RAX],0x0
LEA R14,[RBX + 0x2270]
LEA RDI,[RSP + 0x1090]
MOV EDX,0x1000
MOV RSI,R14
CALL 0x0014a0b0
MOV RDI,R14
CALL 0x0014d9a0
CMP dword ptr [RBX + 0x14],0x1
SBB EBP,EBP
AND EBP,0xfffffffd
ADD EBP,0x4
MOV RDI,R15
CALL 0x0014ace0
LEA R10,[RSP + 0x90]
SUB RSP,0x8
LEA R15,[RSP + 0x3098]
PUSH R15
PUSH R14
PUSH R12
MOV R9,qword ptr [RSP + 0x28]
MOV R8D,EBP
MOV ECX,EBP
MOV RDX,RAX
MOV ESI,0x1000
MOV RBP,R10
MOV RDI,R10
MOV EAX,0x0
CALL 0x0014d3c0
ADD RSP,0x20
MOV RDI,R12
CALL 0x0014c570
MOV RDI,qword ptr [RSP + 0x8]
CALL 0x0014c570
MOV ESI,dword ptr [RBX + 0x218]
MOV R8,R13
MOV ECX,0x0
MOV RDX,RBP
MOV EDI,0x0
CALL 0x00149cc0
MOV RSI,R13
MOV RDI,RBX
CALL 0x0014cba0
MOV RBP,RAX
MOV RDI,R14
CALL 0x0014c980
MOV RDI,R15
CALL 0x0014c980
MOV RDI,RBX
CALL 0x0014abc0
TEST RBP,RBP
JZ 0x0038888a
LEA RDI,[RBP + 0x23f8]
LEA RSI,[0x432dc6]
CALL 0x0014c220
TEST EAX,EAX
JZ 0x003888cc
LEA RBX,[RSP + 0x1090]
JMP 0x003888f6
MOV RDX,RAX
SHR RDX,0x1
AND EAX,0x1
OR RDX,RAX
PXOR XMM1,XMM1
CVTSI2SD XMM1,RDX
ADDSD XMM1,XMM1
JMP 0x003882e7
MOV RDX,RAX
SHR RDX,0x1
AND EAX,0x1
OR RDX,RAX
PXOR XMM0,XMM0
CVTSI2SD XMM0,RDX
ADDSD XMM0,XMM0
JMP 0x003882fe
MOV RDX,R13
MOV ESI,0x0
LEA RDI,[0x473d39]
CALL 0x0014bab0
MOV R15,RAX
JMP 0x00388349
MOV RDX,R13
MOV ESI,0x0
LEA RDI,[0x473d4b]
CALL 0x0014bab0
MOV R15,RAX
JMP 0x00388349
MOV RDI,RBX
CALL 0x0014caa0
MOV EBP,0x0
JMP 0x00388952
MOV RDX,RAX
SHR RDX,0x1
AND EAX,0x1
OR RDX,RAX
PXOR XMM0,XMM0
CVTSI2SD XMM0,RDX
ADDSD XMM0,XMM0
JMP 0x003883e9
SUBSD XMM1,qword ptr [0x003f9c40]
CVTTSD2SI RDX,XMM1
MOV RAX,-0x8000000000000000
XOR RDX,RAX
JMP 0x00388469
MOV RCX,RAX
SHR RCX,0x1
AND EAX,0x1
OR RCX,RAX
PXOR XMM0,XMM0
CVTSI2SD XMM0,RCX
ADDSD XMM0,XMM0
JMP 0x00388485
SUBSD XMM1,qword ptr [0x003f9c40]
CVTTSD2SI RAX,XMM1
MOV RCX,-0x8000000000000000
XOR RAX,RCX
JMP 0x00388505
MOV RCX,RAX
SHR RCX,0x1
AND EAX,0x1
OR RCX,RAX
PXOR XMM1,XMM1
CVTSI2SD XMM1,RCX
ADDSD XMM1,XMM1
JMP 0x0038851c
MOV RAX,RDX
SHR RAX,0x1
AND EDX,0x1
OR RAX,RDX
PXOR XMM0,XMM0
CVTSI2SD XMM0,RAX
ADDSD XMM0,XMM0
JMP 0x0038852e
MOV RDX,RAX
SHR RDX,0x1
AND EAX,0x1
OR RDX,RAX
PXOR XMM0,XMM0
CVTSI2SD XMM0,RDX
ADDSD XMM0,XMM0
JMP 0x00388587
MOV RAX,qword ptr [RBX + 0x38]
MOV RDX,RAX
ADD RDX,0x1
JS 0x00388854
PXOR XMM1,XMM1
CVTSI2SD XMM1,RDX
TEST RAX,RAX
JS 0x0038886f
PXOR XMM0,XMM0
CVTSI2SD XMM0,RAX
ADDSD XMM0,qword ptr [0x003f9608]
LEA RDX,[0x473da0]
MOV ESI,0x1000
MOV RDI,R12
MOV EAX,0x2
CALL 0x0014d3c0
JMP 0x003885a0
MOV RCX,RDX
SHR RCX,0x1
AND EDX,0x1
OR RCX,RDX
PXOR XMM1,XMM1
CVTSI2SD XMM1,RCX
ADDSD XMM1,XMM1
JMP 0x00388820
MOV RDX,RAX
SHR RDX,0x1
AND EAX,0x1
OR RDX,RAX
PXOR XMM0,XMM0
CVTSI2SD XMM0,RDX
ADDSD XMM0,XMM0
JMP 0x0038882e
PUSH qword ptr [RSP + 0x18]
LEA RAX,[0x3fcd40]
PUSH RAX
LEA R9,[0x473d75]
MOV R8D,0x19f
MOV ECX,0x172
LEA RDX,[0x473dc8]
LEA RSI,[0x473c13]
MOV RDI,R13
MOV EAX,0x0
CALL 0x0014cb70
ADD RSP,0x10
JMP 0x00388952
MOV RSI,R13
MOV RDI,RBP
CALL 0x0014b310
MOV RBX,RAX
TEST RAX,RAX
JZ 0x003886a3
MOV RDI,RBP
CALL 0x0014af30
MOV RBP,RBX
JMP 0x003886a3
MOV RBP,RAX
LEA RDI,[RBP + 0x3f8]
MOV EDX,0x1000
MOV RSI,RBX
CALL 0x0014a0b0
MOV RAX,qword ptr [RSP + 0x40]
MOV qword ptr [RBP + 0x258],RAX
MOV RAX,qword ptr [RSP + 0x48]
MOV qword ptr [RBP + 0x260],RAX
MOV RAX,qword ptr [RSP + 0x50]
MOV qword ptr [RBP + 0x268],RAX
MOV RAX,qword ptr [RSP + 0x58]
MOV qword ptr [RBP + 0x270],RAX
MOV RDI,RBP
CALL 0x0014b3d0
TEST RAX,RAX
JNZ 0x003888f3
MOV RDI,RBP
CALL 0x0014b2b0
MOV RBP,RAX
MOV RAX,RBP
MOV RCX,qword ptr [RSP + 0x4098]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x0038897a
ADD RSP,0x40a8
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CALL 0x0014c5c0
(translation_unit "undefined8 FUN_00387c48(long param_1,long param_2)\n\n{\n  long lVar1;\n  int iVar2;\n  int iVar3;\n  long lVar4;\n  ulong uVar5;\n  int *piVar6;\n  ulong uVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long in_FS_OFFSET;\n  bool bVar15;\n  double dVar16;\n  ulong local_4098;\n  ulong local_4090;\n  undefined8 local_4088;\n  undefined8 local_4080;\n  double local_4078;\n  double local_4070;\n  double local_4068;\n  double local_4060 [3];\n  char local_4048 [4096];\n  undefined1 local_3048 [4096];\n  undefined1 local_2048 [4096];\n  undefined1 local_1048 [4104];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }\n  lVar4 = AcquireImage(param_1,param_2);\n  iVar2 = OpenBlob(param_1,lVar4,2,param_2);\n  if (iVar2 == 0) {\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }\n  else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return uVar9;\n}\n\n" (function_definition "undefined8 FUN_00387c48(long param_1,long param_2)\n\n{\n  long lVar1;\n  int iVar2;\n  int iVar3;\n  long lVar4;\n  ulong uVar5;\n  int *piVar6;\n  ulong uVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long in_FS_OFFSET;\n  bool bVar15;\n  double dVar16;\n  ulong local_4098;\n  ulong local_4090;\n  undefined8 local_4088;\n  undefined8 local_4080;\n  double local_4078;\n  double local_4070;\n  double local_4068;\n  double local_4060 [3];\n  char local_4048 [4096];\n  undefined1 local_3048 [4096];\n  undefined1 local_2048 [4096];\n  undefined1 local_1048 [4104];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }\n  lVar4 = AcquireImage(param_1,param_2);\n  iVar2 = OpenBlob(param_1,lVar4,2,param_2);\n  if (iVar2 == 0) {\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }\n  else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return uVar9;\n}" type_identifier (function_declarator "FUN_00387c48(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  int iVar2;\n  int iVar3;\n  long lVar4;\n  ulong uVar5;\n  int *piVar6;\n  ulong uVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long in_FS_OFFSET;\n  bool bVar15;\n  double dVar16;\n  ulong local_4098;\n  ulong local_4090;\n  undefined8 local_4088;\n  undefined8 local_4080;\n  double local_4078;\n  double local_4070;\n  double local_4068;\n  double local_4060 [3];\n  char local_4048 [4096];\n  undefined1 local_3048 [4096];\n  undefined1 local_2048 [4096];\n  undefined1 local_1048 [4104];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }\n  lVar4 = AcquireImage(param_1,param_2);\n  iVar2 = OpenBlob(param_1,lVar4,2,param_2);\n  if (iVar2 == 0) {\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }\n  else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return uVar9;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "double dVar16;" primitive_type identifier ;) (declaration "ulong local_4098;" type_identifier identifier ;) (declaration "ulong local_4090;" type_identifier identifier ;) (declaration "undefined8 local_4088;" type_identifier identifier ;) (declaration "undefined8 local_4080;" type_identifier identifier ;) (declaration "double local_4078;" primitive_type identifier ;) (declaration "double local_4070;" primitive_type identifier ;) (declaration "double local_4068;" primitive_type identifier ;) (declaration "double local_4060 [3];" primitive_type (array_declarator "local_4060 [3]" identifier [ number_literal ]) ;) (declaration "char local_4048 [4096];" primitive_type (array_declarator "local_4048 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_3048 [4096];" type_identifier (array_declarator "local_3048 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_2048 [4096];" type_identifier (array_declarator "local_2048 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_1048 [4104];" type_identifier (array_declarator "local_1048 [4104]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x3278) != 0xabacadab)" ( (binary_expression "*(long *)(param_1 + 0x3278) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3278)" * (cast_expression "(long *)(param_1 + 0x3278)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3278)" ( (binary_expression "param_1 + 0x3278" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3270) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3270) != 0" (pointer_expression "*(int *)(param_1 + 0x3270)" * (cast_expression "(int *)(param_1 + 0x3270)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3270)" ( (binary_expression "param_1 + 0x3270" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }" { (expression_statement "LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);" (call_expression "LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270)" identifier (argument_list "(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270)" ( number_literal , (string_literal ""coders/pcl.c"" " string_content ") , (string_literal ""ReadPCLImage"" " string_content ") , number_literal , (pointer_expression "&DAT_0041fe36" & identifier) , (binary_expression "param_1 + 0x2270" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }" if (parenthesized_expression "(*(long *)(param_2 + 0x30) != 0xabacadab)" ( (binary_expression "*(long *)(param_2 + 0x30) != 0xabacadab" (pointer_expression "*(long *)(param_2 + 0x30)" * (cast_expression "(long *)(param_2 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x30)" ( (binary_expression "param_2 + 0x30" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (expression_statement "lVar4 = AcquireImage(param_1,param_2);" (assignment_expression "lVar4 = AcquireImage(param_1,param_2)" identifier = (call_expression "AcquireImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "iVar2 = OpenBlob(param_1,lVar4,2,param_2);" (assignment_expression "iVar2 = OpenBlob(param_1,lVar4,2,param_2)" identifier = (call_expression "OpenBlob(param_1,lVar4,2,param_2)" identifier (argument_list "(param_1,lVar4,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }\n  else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }" { (expression_statement "DestroyImageList(lVar4);" (call_expression "DestroyImageList(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }" else (compound_statement "{\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }" { (expression_statement "lVar1 = param_1 + 0x2270;" (assignment_expression "lVar1 = param_1 + 0x2270" identifier = (binary_expression "param_1 + 0x2270" identifier + number_literal)) ;) (expression_statement "iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);" (assignment_expression "iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048)" identifier = (call_expression "AcquireUniqueSymbolicLink(lVar1,local_1048)" identifier (argument_list "(lVar1,local_1048)" ( identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = GetExceptionMessage(*piVar6);" (assignment_expression "uVar9 = GetExceptionMessage(*piVar6)" identifier = (call_expression "GetExceptionMessage(*piVar6)" identifier (argument_list "(*piVar6)" ( (pointer_expression "*piVar6" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);" (call_expression "ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9)" identifier (argument_list "(param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9)" ( identifier , (string_literal ""coders/pcl.c"" " string_content ") , (string_literal ""ReadPCLImage"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToCreateTemporaryFile"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar9);" (call_expression "DestroyString(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "DestroyImageList(lVar4);" (call_expression "DestroyImageList(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }" else (compound_statement "{\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }" { (if_statement "if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }" if (parenthesized_expression "((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0))" ( (binary_expression "(*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)" (parenthesized_expression "(*(double *)(lVar4 + 0x248) == 0.0)" ( (binary_expression "*(double *)(lVar4 + 0x248) == 0.0" (pointer_expression "*(double *)(lVar4 + 0x248)" * (cast_expression "(double *)(lVar4 + 0x248)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x248)" ( (binary_expression "lVar4 + 0x248" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(double *)(lVar4 + 0x250) == 0.0)" ( (binary_expression "*(double *)(lVar4 + 0x250) == 0.0" (pointer_expression "*(double *)(lVar4 + 0x250)" * (cast_expression "(double *)(lVar4 + 0x250)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x250)" ( (binary_expression "lVar4 + 0x250" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }" { (expression_statement "uVar5 = ParseGeometry("72.0x72.0",&local_4078);" (assignment_expression "uVar5 = ParseGeometry("72.0x72.0",&local_4078)" identifier = (call_expression "ParseGeometry("72.0x72.0",&local_4078)" identifier (argument_list "("72.0x72.0",&local_4078)" ( (string_literal ""72.0x72.0"" " string_content ") , (pointer_expression "&local_4078" & identifier) )))) ;) (expression_statement "*(double *)(lVar4 + 0x248) = local_4078;" (assignment_expression "*(double *)(lVar4 + 0x248) = local_4078" (pointer_expression "*(double *)(lVar4 + 0x248)" * (cast_expression "(double *)(lVar4 + 0x248)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x248)" ( (binary_expression "lVar4 + 0x248" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }" if (parenthesized_expression "((uVar5 & 8) == 0)" ( (binary_expression "(uVar5 & 8) == 0" (parenthesized_expression "(uVar5 & 8)" ( (binary_expression "uVar5 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }" { (expression_statement "*(double *)(lVar4 + 0x250) = local_4078;" (assignment_expression "*(double *)(lVar4 + 0x250) = local_4078" (pointer_expression "*(double *)(lVar4 + 0x250)" * (cast_expression "(double *)(lVar4 + 0x250)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x250)" ( (binary_expression "lVar4 + 0x250" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }" else (compound_statement "{\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }" { (expression_statement "*(double *)(lVar4 + 0x250) = local_4070;" (assignment_expression "*(double *)(lVar4 + 0x250) = local_4070" (pointer_expression "*(double *)(lVar4 + 0x250)" * (cast_expression "(double *)(lVar4 + 0x250)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x250)" ( (binary_expression "lVar4 + 0x250" identifier + number_literal) )))) = identifier) ;) }))) })) (expression_statement "bVar15 = *(int *)(lVar4 + 4) == 2;" (assignment_expression "bVar15 = *(int *)(lVar4 + 4) == 2" identifier = (binary_expression "*(int *)(lVar4 + 4) == 2" (pointer_expression "*(int *)(lVar4 + 4)" * (cast_expression "(int *)(lVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 4)" ( (binary_expression "lVar4 + 4" identifier + number_literal) )))) == number_literal)) ;) (expression_statement "local_4078 = 0.0;" (assignment_expression "local_4078 = 0.0" identifier = number_literal) ;) (expression_statement "local_4070 = 0.0;" (assignment_expression "local_4070 = 0.0" identifier = number_literal) ;) (expression_statement "local_4068 = 0.0;" (assignment_expression "local_4068 = 0.0" identifier = number_literal) ;) (expression_statement "local_4060[0] = 0.0;" (assignment_expression "local_4060[0] = 0.0" (subscript_expression "local_4060[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_4098 = 0;" (assignment_expression "local_4098 = 0" identifier = number_literal) ;) (expression_statement "local_4090 = 0;" (assignment_expression "local_4090 = 0" identifier = number_literal) ;) (expression_statement "local_4088 = 0;" (assignment_expression "local_4088 = 0" identifier = number_literal) ;) (expression_statement "local_4080 = 0;" (assignment_expression "local_4080 = 0" identifier = number_literal) ;) (expression_statement "memset(local_4048,0,0x1000);" (call_expression "memset(local_4048,0,0x1000)" identifier (argument_list "(local_4048,0,0x1000)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "iVar2 = ReadBlobByte(lVar4);" (assignment_expression "iVar2 = ReadBlobByte(lVar4)" identifier = (call_expression "ReadBlobByte(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;) (if_statement "if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (compound_statement "{\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "pcVar14 = local_4048;" (assignment_expression "pcVar14 = local_4048" identifier = identifier) ;) (do_statement "do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);" do (compound_statement "{\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        }" { (expression_statement "pcVar13 = pcVar14;" (assignment_expression "pcVar13 = pcVar14" identifier = identifier) ;) (if_statement "if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }" if (parenthesized_expression "((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048)))))" ( (binary_expression "(*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))" (parenthesized_expression "(*(long *)(param_1 + 0x28) == 0)" ( (binary_expression "*(long *)(param_1 + 0x28) == 0" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))" ( (parenthesized_expression "((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048)))" ( (binary_expression "(*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))" (parenthesized_expression "(*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10))" ( (comma_expression "*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)" (assignment_expression "*pcVar14 = (char)iVar2" (pointer_expression "*pcVar14" * identifier) = (cast_expression "(char)iVar2" ( (type_descriptor "char" primitive_type) ) identifier)) , (binary_expression "iVar2 == 0x2f || (iVar2 == 10)" (binary_expression "iVar2 == 0x2f" identifier == number_literal) || (parenthesized_expression "(iVar2 == 10)" ( (binary_expression "iVar2 == 10" identifier == number_literal) )))) )) || (parenthesized_expression "(pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))" ( (comma_expression "pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048)" (assignment_expression "pcVar13 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) , (binary_expression "0xffe < (ulong)((long)pcVar13 - (long)local_4048)" number_literal < (call_expression "(ulong)((long)pcVar13 - (long)local_4048)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)pcVar13 - (long)local_4048)" ( (binary_expression "(long)pcVar13 - (long)local_4048" (cast_expression "(long)pcVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)local_4048" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))))) ))) )) ))) )) (compound_statement "{\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }" { (expression_statement "pcVar14[1] = '\0';" (assignment_expression "pcVar14[1] = '\0'" (subscript_expression "pcVar14[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);" (assignment_expression "iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10)" identifier = (call_expression "LocaleNCompare("DeviceCMYK",local_4048,10)" identifier (argument_list "("DeviceCMYK",local_4048,10)" ( (string_literal ""DeviceCMYK"" " string_content ") , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n              bVar15 = true;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              bVar15 = true;\n            }" { (expression_statement "bVar15 = true;" (assignment_expression "bVar15 = true" identifier = true) ;) })) (expression_statement "iVar2 = LocaleNCompare("CropBox",local_4048,7);" (assignment_expression "iVar2 = LocaleNCompare("CropBox",local_4048,7)" identifier = (call_expression "LocaleNCompare("CropBox",local_4048,7)" identifier (argument_list "("CropBox",local_4048,7)" ( (string_literal ""CropBox"" " string_content ") , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }" { (expression_statement "iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);" (assignment_expression "iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060)" identifier = (call_expression "sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060)" identifier (argument_list "(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060)" ( identifier , (string_literal ""CropBox [%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&local_4078" & identifier) , (pointer_expression "&local_4070" & identifier) , (pointer_expression "&local_4068" & identifier) , identifier )))) ;) (if_statement "if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }" if (parenthesized_expression "(iVar2 != 4)" ( (binary_expression "iVar2 != 4" identifier != number_literal) )) (compound_statement "{\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }" { (expression_statement "iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" (assignment_expression "iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier = (call_expression "sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier (argument_list "(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" ( identifier , (string_literal ""CropBox[%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&local_4078" & identifier) , (pointer_expression "&local_4070" & identifier) , (pointer_expression "&local_4068" & identifier) , identifier )))) ;) (goto_statement "goto LAB_00387fa1;" goto statement_identifier ;) })) (expression_statement "iVar2 = LocaleNCompare("MediaBox",local_4048,8);" (assignment_expression "iVar2 = LocaleNCompare("MediaBox",local_4048,8)" identifier = (call_expression "LocaleNCompare("MediaBox",local_4048,8)" identifier (argument_list "("MediaBox",local_4048,8)" ( (string_literal ""MediaBox"" " string_content ") , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) goto LAB_0038807b;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0038807b;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }" else (compound_statement "{\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }" { (labeled_statement "LAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);" statement_identifier : (expression_statement "iVar2 = LocaleNCompare("MediaBox",local_4048,8);" (assignment_expression "iVar2 = LocaleNCompare("MediaBox",local_4048,8)" identifier = (call_expression "LocaleNCompare("MediaBox",local_4048,8)" identifier (argument_list "("MediaBox",local_4048,8)" ( (string_literal ""MediaBox"" " string_content ") , identifier , number_literal )))) ;)) (if_statement "if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }" { (labeled_statement "LAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" statement_identifier : (expression_statement "iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" (assignment_expression "iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier = (call_expression "sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier (argument_list "(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" ( identifier , (string_literal ""MediaBox [%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&local_4078" & identifier) , (pointer_expression "&local_4070" & identifier) , (pointer_expression "&local_4068" & identifier) , identifier )))) ;)) (if_statement "if (iVar2 == 4) goto LAB_003880b0;" if (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) (goto_statement "goto LAB_003880b0;" goto statement_identifier ;)) (expression_statement "iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" (assignment_expression "iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier = (call_expression "sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier (argument_list "(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" ( identifier , (string_literal ""MediaBox[%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&local_4078" & identifier) , (pointer_expression "&local_4070" & identifier) , (pointer_expression "&local_4068" & identifier) , identifier )))) ;) })) (expression_statement "pcVar13 = local_4048;" (assignment_expression "pcVar13 = local_4048" identifier = identifier) ;) (if_statement "if (iVar3 != 4) goto LAB_00387fd6;" if (parenthesized_expression "(iVar3 != 4)" ( (binary_expression "iVar3 != 4" identifier != number_literal) )) (goto_statement "goto LAB_00387fd6;" goto statement_identifier ;)) }))) (labeled_statement "LAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;" statement_identifier : (expression_statement "dVar16 = (local_4068 - local_4078) + DAT_003f9c28;" (assignment_expression "dVar16 = (local_4068 - local_4078) + DAT_003f9c28" identifier = (binary_expression "(local_4068 - local_4078) + DAT_003f9c28" (parenthesized_expression "(local_4068 - local_4078)" ( (binary_expression "local_4068 - local_4078" identifier - identifier) )) + identifier)) ;)) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" if (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" { (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" identifier = (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" ( (binary_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" - (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar16 < (double)(long)dVar16)" ( (binary_expression "dVar16 < (double)(long)dVar16" identifier < (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }" if (parenthesized_expression "(DAT_003f9c40 <= dVar16)" ( (binary_expression "DAT_003f9c40 <= dVar16" identifier <= identifier) )) (compound_statement "{\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }" { (expression_statement "uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" identifier = (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar16 - DAT_003f9c40)" ( (binary_expression "dVar16 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n              uVar5 = (ulong)dVar16;\n            }" else (compound_statement "{\n              uVar5 = (ulong)dVar16;\n            }" { (expression_statement "uVar5 = (ulong)dVar16;" (assignment_expression "uVar5 = (ulong)dVar16" identifier = (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (expression_statement "dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;" (assignment_expression "dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28" identifier = (binary_expression "(local_4060[0] - local_4070) + DAT_003f9c28" (parenthesized_expression "(local_4060[0] - local_4070)" ( (binary_expression "local_4060[0] - local_4070" (subscript_expression "local_4060[0]" identifier [ number_literal ]) - identifier) )) + identifier)) ;) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" if (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" { (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" identifier = (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" ( (binary_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" - (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar16 < (double)(long)dVar16)" ( (binary_expression "dVar16 < (double)(long)dVar16" identifier < (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }" if (parenthesized_expression "(DAT_003f9c40 <= dVar16)" ( (binary_expression "DAT_003f9c40 <= dVar16" identifier <= identifier) )) (compound_statement "{\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }" { (expression_statement "uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" identifier = (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar16 - DAT_003f9c40)" ( (binary_expression "dVar16 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n              uVar7 = (ulong)dVar16;\n            }" else (compound_statement "{\n              uVar7 = (ulong)dVar16;\n            }" { (expression_statement "uVar7 = (ulong)dVar16;" (assignment_expression "uVar7 = (ulong)dVar16" identifier = (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (if_statement "if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }" if (parenthesized_expression "(local_4098 < uVar5)" ( (binary_expression "local_4098 < uVar5" identifier < identifier) )) (compound_statement "{\n              local_4098 = uVar5;\n            }" { (expression_statement "local_4098 = uVar5;" (assignment_expression "local_4098 = uVar5" identifier = identifier) ;) })) (if_statement "if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }" if (parenthesized_expression "(local_4090 < uVar7)" ( (binary_expression "local_4090 < uVar7" identifier < identifier) )) (compound_statement "{\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }" { (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "pcVar13 = local_4048;" (assignment_expression "pcVar13 = local_4048" identifier = identifier) ;) (expression_statement "local_4090 = uVar7;" (assignment_expression "local_4090 = uVar7" identifier = identifier) ;) }) (else_clause "else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }" else (compound_statement "{\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }" { (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "pcVar13 = local_4048;" (assignment_expression "pcVar13 = local_4048" identifier = identifier) ;) }))) })) (labeled_statement "LAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);" statement_identifier : (expression_statement "iVar2 = ReadBlobByte(lVar4);" (assignment_expression "iVar2 = ReadBlobByte(lVar4)" identifier = (call_expression "ReadBlobByte(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;)) (expression_statement "pcVar14 = pcVar13;" (assignment_expression "pcVar14 = pcVar13" identifier = identifier) ;) }) while (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) ;) })) (expression_statement "CloseBlob(lVar4);" (call_expression "CloseBlob(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (if_statement "if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }" if (parenthesized_expression "((local_4098 == 0) || (local_4090 == 0))" ( (binary_expression "(local_4098 == 0) || (local_4090 == 0)" (parenthesized_expression "(local_4098 == 0)" ( (binary_expression "local_4098 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_4090 == 0)" ( (binary_expression "local_4090 == 0" identifier == number_literal) ))) )) (compound_statement "{\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }" { (expression_statement "ParseAbsoluteGeometry("612x792",&local_4098);" (call_expression "ParseAbsoluteGeometry("612x792",&local_4098)" identifier (argument_list "("612x792",&local_4098)" ( (string_literal ""612x792"" " string_content ") , (pointer_expression "&local_4098" & identifier) ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }" if (parenthesized_expression "(*(long *)(param_1 + 0x28) != 0)" ( (binary_expression "*(long *)(param_1 + 0x28) != 0" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }" { (expression_statement "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);" (call_expression "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098)" identifier (argument_list "(*(long *)(param_1 + 0x28),&local_4098)" ( (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "&local_4098" & identifier) ))) ;) })) (expression_statement "FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");" (call_expression "FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g")" identifier (argument_list "((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g")" ( (cast_expression "(double)local_4098" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_4090" ( (type_descriptor "double" primitive_type) ) identifier) , identifier , number_literal , (string_literal ""%.20gx%.20g"" " string_content ") ))) ;) (if_statement "if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x204) == 0)" ( (binary_expression "*(int *)(param_1 + 0x204) == 0" (pointer_expression "*(int *)(param_1 + 0x204)" * (cast_expression "(int *)(param_1 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x204)" ( (binary_expression "param_1 + 0x204" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }" { (if_statement "if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }" { (expression_statement "lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);" (assignment_expression "lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2)" identifier = (call_expression "GetDelegateInfo("pcl:cmyk",0,param_2)" identifier (argument_list "("pcl:cmyk",0,param_2)" ( (string_literal ""pcl:cmyk"" " string_content ") , number_literal , identifier )))) ;) }) (else_clause "else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }" else (compound_statement "{\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }" { (expression_statement "lVar8 = GetDelegateInfo("pcl:color",0,param_2);" (assignment_expression "lVar8 = GetDelegateInfo("pcl:color",0,param_2)" identifier = (call_expression "GetDelegateInfo("pcl:color",0,param_2)" identifier (argument_list "("pcl:color",0,param_2)" ( (string_literal ""pcl:color"" " string_content ") , number_literal , identifier )))) ;) }))) }) (else_clause "else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }" else (compound_statement "{\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }" { (expression_statement "lVar8 = GetDelegateInfo("pcl:mono",0,param_2);" (assignment_expression "lVar8 = GetDelegateInfo("pcl:mono",0,param_2)" identifier = (call_expression "GetDelegateInfo("pcl:mono",0,param_2)" identifier (argument_list "("pcl:mono",0,param_2)" ( (string_literal ""pcl:mono"" " string_content ") , number_literal , identifier )))) ;) }))) (if_statement "if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }" { (expression_statement "DestroyImage(lVar4);" (call_expression "DestroyImage(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }" else (compound_statement "{\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }" { (if_statement "if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }" if (parenthesized_expression "((local_4098 == 0) || (local_4090 == 0))" ( (binary_expression "(local_4098 == 0) || (local_4090 == 0)" (parenthesized_expression "(local_4098 == 0)" ( (binary_expression "local_4098 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_4090 == 0)" ( (binary_expression "local_4090 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }" { (expression_statement "ParseAbsoluteGeometry("612x792",&local_4098);" (call_expression "ParseAbsoluteGeometry("612x792",&local_4098)" identifier (argument_list "("612x792",&local_4098)" ( (string_literal ""612x792"" " string_content ") , (pointer_expression "&local_4098" & identifier) ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }" if (parenthesized_expression "(*(long *)(param_1 + 0x28) != 0)" ( (binary_expression "*(long *)(param_1 + 0x28) != 0" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }" { (expression_statement "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);" (call_expression "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098)" identifier (argument_list "(*(long *)(param_1 + 0x28),&local_4098)" ( (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "&local_4098" & identifier) ))) ;) })) (expression_statement "uVar9 = AcquireString(&DAT_00473ecb);" (assignment_expression "uVar9 = AcquireString(&DAT_00473ecb)" identifier = (call_expression "AcquireString(&DAT_00473ecb)" identifier (argument_list "(&DAT_00473ecb)" ( (pointer_expression "&DAT_00473ecb" & identifier) )))) ;) (expression_statement "uVar10 = AcquireString(&DAT_00473ecb);" (assignment_expression "uVar10 = AcquireString(&DAT_00473ecb)" identifier = (call_expression "AcquireString(&DAT_00473ecb)" identifier (argument_list "(&DAT_00473ecb)" ( (pointer_expression "&DAT_00473ecb" & identifier) )))) ;) (expression_statement "FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");" (call_expression "FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g")" identifier (argument_list "(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g")" ( (pointer_expression "*(undefined8 *)(lVar4 + 0x248)" * (cast_expression "(undefined8 *)(lVar4 + 0x248)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x248)" ( (binary_expression "lVar4 + 0x248" identifier + number_literal) )))) , (pointer_expression "*(undefined8 *)(lVar4 + 0x250)" * (cast_expression "(undefined8 *)(lVar4 + 0x250)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x250)" ( (binary_expression "lVar4 + 0x250" identifier + number_literal) )))) , identifier , number_literal , (string_literal ""%gx%g"" " string_content ") ))) ;) (expression_statement "dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;" (assignment_expression "dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28" identifier = (binary_expression "((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28" (binary_expression "((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20" (parenthesized_expression "((double)local_4098 * *(double *)(lVar4 + 0x248))" ( (binary_expression "(double)local_4098 * *(double *)(lVar4 + 0x248)" (cast_expression "(double)local_4098" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(lVar4 + 0x248)" * (cast_expression "(double *)(lVar4 + 0x248)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x248)" ( (binary_expression "lVar4 + 0x248" identifier + number_literal) ))))) )) / identifier) + identifier)) ;) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" if (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" { (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" identifier = (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" ( (binary_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" - (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar16 < (double)(long)dVar16)" ( (binary_expression "dVar16 < (double)(long)dVar16" identifier < (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }" if (parenthesized_expression "(DAT_003f9c40 <= dVar16)" ( (binary_expression "DAT_003f9c40 <= dVar16" identifier <= identifier) )) (compound_statement "{\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }" { (expression_statement "local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" identifier = (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar16 - DAT_003f9c40)" ( (binary_expression "dVar16 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n          local_4098 = (ulong)dVar16;\n        }" else (compound_statement "{\n          local_4098 = (ulong)dVar16;\n        }" { (expression_statement "local_4098 = (ulong)dVar16;" (assignment_expression "local_4098 = (ulong)dVar16" identifier = (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (expression_statement "dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;" (assignment_expression "dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28" identifier = (binary_expression "((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28" (binary_expression "((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20" (parenthesized_expression "((double)local_4090 * *(double *)(lVar4 + 0x250))" ( (binary_expression "(double)local_4090 * *(double *)(lVar4 + 0x250)" (cast_expression "(double)local_4090" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(lVar4 + 0x250)" * (cast_expression "(double *)(lVar4 + 0x250)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x250)" ( (binary_expression "lVar4 + 0x250" identifier + number_literal) ))))) )) / identifier) + identifier)) ;) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" if (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" { (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" identifier = (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" ( (binary_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" - (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar16 < (double)(long)dVar16)" ( (binary_expression "dVar16 < (double)(long)dVar16" identifier < (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }" if (parenthesized_expression "(DAT_003f9c40 <= dVar16)" ( (binary_expression "DAT_003f9c40 <= dVar16" identifier <= identifier) )) (compound_statement "{\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }" { (expression_statement "local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" identifier = (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar16 - DAT_003f9c40)" ( (binary_expression "dVar16 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n          local_4090 = (ulong)dVar16;\n        }" else (compound_statement "{\n          local_4090 = (ulong)dVar16;\n        }" { (expression_statement "local_4090 = (ulong)dVar16;" (assignment_expression "local_4090 = (ulong)dVar16" identifier = (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (expression_statement "FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");" (call_expression "FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ")" identifier (argument_list "((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ")" ( (cast_expression "(double)local_4098" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_4090" ( (type_descriptor "double" primitive_type) ) identifier) , identifier , number_literal , (string_literal ""-g%.20gx%.20g "" " string_content ") ))) ;) (expression_statement "DestroyImage(lVar4);" (call_expression "DestroyImage(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "lVar11 = CloneImageInfo(param_1);" (assignment_expression "lVar11 = CloneImageInfo(param_1)" identifier = (call_expression "CloneImageInfo(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*(undefined1 *)(lVar11 + 0x270) = 0;" (assignment_expression "*(undefined1 *)(lVar11 + 0x270) = 0" (pointer_expression "*(undefined1 *)(lVar11 + 0x270)" * (cast_expression "(undefined1 *)(lVar11 + 0x270)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x270)" ( (binary_expression "lVar11 + 0x270" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar4 = *(long *)(lVar11 + 0x40);" (assignment_expression "lVar4 = *(long *)(lVar11 + 0x40)" identifier = (pointer_expression "*(long *)(lVar11 + 0x40)" * (cast_expression "(long *)(lVar11 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x40)" ( (binary_expression "lVar11 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }" if (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }" { (if_statement "if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }" if (parenthesized_expression "(lVar4 == 1)" ( (binary_expression "lVar4 == 1" identifier == number_literal) )) (compound_statement "{\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }" { (expression_statement "FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");" (call_expression "FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g")" identifier (argument_list "((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g")" ( (binary_expression "(double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608" (cast_expression "(double)*(ulong *)(lVar11 + 0x38)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(ulong *)(lVar11 + 0x38)" * (cast_expression "(ulong *)(lVar11 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x38)" ( (binary_expression "lVar11 + 0x38" identifier + number_literal) ))))) + identifier) , (cast_expression "(double)(*(ulong *)(lVar11 + 0x38) + 1)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(*(ulong *)(lVar11 + 0x38) + 1)" ( (binary_expression "*(ulong *)(lVar11 + 0x38) + 1" (pointer_expression "*(ulong *)(lVar11 + 0x38)" * (cast_expression "(ulong *)(lVar11 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x38)" ( (binary_expression "lVar11 + 0x38" identifier + number_literal) )))) + number_literal) ))) , identifier , number_literal , (string_literal ""-dFirstPage=%.20g -dLastPage=%.20g"" " string_content ") ))) ;) }) (else_clause "else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }" else (compound_statement "{\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }" { (expression_statement "FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");" (call_expression "FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g")" identifier (argument_list "((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g")" ( (cast_expression "(double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38))" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulong)(lVar4 + *(long *)(lVar11 + 0x38))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(lVar4 + *(long *)(lVar11 + 0x38))" ( (binary_expression "lVar4 + *(long *)(lVar11 + 0x38)" identifier + (pointer_expression "*(long *)(lVar11 + 0x38)" * (cast_expression "(long *)(lVar11 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x38)" ( (binary_expression "lVar11 + 0x38" identifier + number_literal) ))))) )))) , identifier , number_literal , (string_literal ""-dLastPage=%.20g"" " string_content ") ))) ;) }))) (expression_statement "*(undefined8 *)(lVar11 + 0x40) = 0;" (assignment_expression "*(undefined8 *)(lVar11 + 0x40) = 0" (pointer_expression "*(undefined8 *)(lVar11 + 0x40)" * (cast_expression "(undefined8 *)(lVar11 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x40)" ( (binary_expression "lVar11 + 0x40" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }" if (parenthesized_expression "(*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0)" ( (binary_expression "*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0" (pointer_expression "*(undefined1 **)(lVar11 + 0x30)" * (cast_expression "(undefined1 **)(lVar11 + 0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar11 + 0x30)" ( (binary_expression "lVar11 + 0x30" identifier + number_literal) )))) != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }" { (expression_statement "**(undefined1 **)(lVar11 + 0x30) = 0;" (assignment_expression "**(undefined1 **)(lVar11 + 0x30) = 0" (pointer_expression "**(undefined1 **)(lVar11 + 0x30)" * (pointer_expression "*(undefined1 **)(lVar11 + 0x30)" * (cast_expression "(undefined1 **)(lVar11 + 0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar11 + 0x30)" ( (binary_expression "lVar11 + 0x30" identifier + number_literal) ))))) = number_literal) ;) })) })) (expression_statement "lVar4 = lVar11 + 0x2270;" (assignment_expression "lVar4 = lVar11 + 0x2270" identifier = (binary_expression "lVar11 + 0x2270" identifier + number_literal)) ;) (expression_statement "CopyMagickString(local_3048,lVar4,0x1000);" (call_expression "CopyMagickString(local_3048,lVar4,0x1000)" identifier (argument_list "(local_3048,lVar4,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "AcquireUniqueFilename(lVar4);" (call_expression "AcquireUniqueFilename(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;" (assignment_expression "iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4" identifier = (binary_expression "(-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4" (parenthesized_expression "(-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd)" ( (binary_expression "-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd" (unary_expression "-(uint)(*(int *)(lVar11 + 0x14) == 0)" - (call_expression "(uint)(*(int *)(lVar11 + 0x14) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(lVar11 + 0x14) == 0)" ( (binary_expression "*(int *)(lVar11 + 0x14) == 0" (pointer_expression "*(int *)(lVar11 + 0x14)" * (cast_expression "(int *)(lVar11 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x14)" ( (binary_expression "lVar11 + 0x14" identifier + number_literal) )))) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "uVar12 = GetDelegateCommands(lVar8);" (assignment_expression "uVar12 = GetDelegateCommands(lVar8)" identifier = (call_expression "GetDelegateCommands(lVar8)" identifier (argument_list "(lVar8)" ( identifier )))) ;) (expression_statement "FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);" (call_expression "FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048)" identifier (argument_list "(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048)" ( identifier , number_literal , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar10);" (call_expression "DestroyString(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "DestroyString(uVar9);" (call_expression "DestroyString(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);" (call_expression "ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2)" identifier (argument_list "(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2)" ( number_literal , (pointer_expression "*(undefined4 *)(lVar11 + 0x218)" * (cast_expression "(undefined4 *)(lVar11 + 0x218)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x218)" ( (binary_expression "lVar11 + 0x218" identifier + number_literal) )))) , identifier , number_literal , identifier ))) ;) (expression_statement "lVar8 = ReadImage(lVar11,param_2);" (assignment_expression "lVar8 = ReadImage(lVar11,param_2)" identifier = (call_expression "ReadImage(lVar11,param_2)" identifier (argument_list "(lVar11,param_2)" ( identifier , identifier )))) ;) (expression_statement "RelinquishUniqueFileResource(lVar4);" (call_expression "RelinquishUniqueFileResource(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "RelinquishUniqueFileResource(local_1048);" (call_expression "RelinquishUniqueFileResource(local_1048)" identifier (argument_list "(local_1048)" ( identifier ))) ;) (expression_statement "DestroyImageInfo(lVar11);" (call_expression "DestroyImageInfo(lVar11)" identifier (argument_list "(lVar11)" ( identifier ))) ;) (if_statement "if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }" { (expression_statement "ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);" (call_expression "ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1)" identifier (argument_list "(param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1)" ( identifier , (string_literal ""coders/pcl.c"" " string_content ") , (string_literal ""ReadPCLImage"" " string_content ") , number_literal , number_literal , (string_literal ""PCLDelegateFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }" else (compound_statement "{\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }" { (expression_statement "iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);" (assignment_expression "iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6)" identifier = (call_expression "LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6)" identifier (argument_list "(lVar8 + 0x23f8,&DAT_00432dc6)" ( (binary_expression "lVar8 + 0x23f8" identifier + number_literal) , (pointer_expression "&DAT_00432dc6" & identifier) )))) ;) (if_statement "if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }" if (parenthesized_expression "((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0))" ( (binary_expression "(iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)" (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) && (parenthesized_expression "(lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)" ( (comma_expression "lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0" (assignment_expression "lVar4 = ConsolidateCMYKImages(lVar8,param_2)" identifier = (call_expression "ConsolidateCMYKImages(lVar8,param_2)" identifier (argument_list "(lVar8,param_2)" ( identifier , identifier )))) , (binary_expression "lVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }" { (expression_statement "DestroyImageList(lVar8);" (call_expression "DestroyImageList(lVar8)" identifier (argument_list "(lVar8)" ( identifier ))) ;) (expression_statement "lVar8 = lVar4;" (assignment_expression "lVar8 = lVar4" identifier = identifier) ;) })) (do_statement "do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);" do (compound_statement "{\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          }" { (expression_statement "lVar4 = lVar8;" (assignment_expression "lVar4 = lVar8" identifier = identifier) ;) (expression_statement "CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);" (call_expression "CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000)" identifier (argument_list "(lVar4 + 0x3f8,local_3048,0x1000)" ( (binary_expression "lVar4 + 0x3f8" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "*(ulong *)(lVar4 + 600) = local_4098;" (assignment_expression "*(ulong *)(lVar4 + 600) = local_4098" (pointer_expression "*(ulong *)(lVar4 + 600)" * (cast_expression "(ulong *)(lVar4 + 600)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 600)" ( (binary_expression "lVar4 + 600" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ulong *)(lVar4 + 0x260) = local_4090;" (assignment_expression "*(ulong *)(lVar4 + 0x260) = local_4090" (pointer_expression "*(ulong *)(lVar4 + 0x260)" * (cast_expression "(ulong *)(lVar4 + 0x260)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x260)" ( (binary_expression "lVar4 + 0x260" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar4 + 0x268) = local_4088;" (assignment_expression "*(undefined8 *)(lVar4 + 0x268) = local_4088" (pointer_expression "*(undefined8 *)(lVar4 + 0x268)" * (cast_expression "(undefined8 *)(lVar4 + 0x268)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x268)" ( (binary_expression "lVar4 + 0x268" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar4 + 0x270) = local_4080;" (assignment_expression "*(undefined8 *)(lVar4 + 0x270) = local_4080" (pointer_expression "*(undefined8 *)(lVar4 + 0x270)" * (cast_expression "(undefined8 *)(lVar4 + 0x270)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x270)" ( (binary_expression "lVar4 + 0x270" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar8 = SyncNextImageInList(lVar4);" (assignment_expression "lVar8 = SyncNextImageInList(lVar4)" identifier = (call_expression "SyncNextImageInList(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;) }) while (parenthesized_expression "(lVar8 != 0)" ( (binary_expression "lVar8 != 0" identifier != number_literal) )) ;) (expression_statement "uVar9 = GetFirstImageInList(lVar4);" (assignment_expression "uVar9 = GetFirstImageInList(lVar4)" identifier = (call_expression "GetFirstImageInList(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;) }))) }))) }))) }))) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return uVar9;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "ExceptionType": Some values do not have unique names */\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 "LogEventType": Some values do not have unique names */\n\nImage * ReadPCLImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  double *pdVar1;\n  char *source;\n  char *source_00;\n  long lVar2;\n  size_t sVar3;\n  MagickBooleanType MVar4;\n  MagickStatusType MVar5;\n  int iVar6;\n  int iVar7;\n  Image *pIVar8;\n  int *piVar9;\n  ulong uVar10;\n  DelegateInfo *delegate_info;\n  char *pcVar11;\n  char *pcVar12;\n  ImageInfo *image_info_00;\n  char *format;\n  Image *pIVar13;\n  ulong uVar14;\n  uint uVar15;\n  long in_FS_OFFSET;\n  bool bVar16;\n  double dVar17;\n  RectangleInfo bounding_box;\n  RectangleInfo page;\n  SegmentInfo bounds;\n  char command [4096];\n  char filename [4096];\n  char geometry [4096];\n  char input_filename [4096];\n  \n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pcl.c","ReadPCLImage",0xc9,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }\n  pIVar8 = AcquireImage(image_info,exception);\n  MVar4 = OpenBlob(image_info,pIVar8,ReadBinaryBlobMode,exception);\n  if (MVar4 == MagickFalse) {\n    DestroyImageList(pIVar8);\n    pIVar8 = (Image *)0x0;\n  }\n  else {\n    source = image_info->filename;\n    MVar4 = AcquireUniqueSymbolicLink(source,input_filename);\n    if (MVar4 == MagickFalse) {\n      piVar9 = __errno_location();\n      pcVar11 = GetExceptionMessage(*piVar9);\n      ThrowMagickException\n                (exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,\n                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11);\n      DestroyString(pcVar11);\n      DestroyImageList(pIVar8);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      if (((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)) {\n        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);\n        (pIVar8->resolution).x = bounds.x1;\n        if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }\n      }\n      bVar16 = pIVar8->colorspace == CMYKColorspace;\n      bounds.x1 = 0.0;\n      bounds.y1 = 0.0;\n      bounds.x2 = 0.0;\n      bounds.y2 = 0.0;\n      page.width = 0;\n      page.height = 0;\n      page.x = 0;\n      page.y = 0;\n      memset(command,0,0x1000);\n      iVar6 = ReadBlobByte(pIVar8);\n      if (iVar6 != -1) {\n        iVar7 = 0;\n        pdVar1 = &bounds.y2;\n        pcVar11 = command;\n        do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);\n      }\n      CloseBlob(pIVar8);\n      if ((page.width == 0) || (page.height == 0)) {\n        ParseAbsoluteGeometry("612x792",&page);\n      }\n      if (image_info->page != (char *)0x0) {\n        ParseAbsoluteGeometry(image_info->page,&page);\n      }\n      FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);\n      if (image_info->monochrome == MagickFalse) {\n        if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }\n      }\n      else {\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }\n      if (delegate_info == (DelegateInfo *)0x0) {\n        DestroyImage(pIVar8);\n        pIVar8 = (Image *)0x0;\n      }\n      else {\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }\n    }\n  }\n  if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return pIVar8;\n}\n\n" comment comment comment comment comment comment (function_definition "Image * ReadPCLImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  double *pdVar1;\n  char *source;\n  char *source_00;\n  long lVar2;\n  size_t sVar3;\n  MagickBooleanType MVar4;\n  MagickStatusType MVar5;\n  int iVar6;\n  int iVar7;\n  Image *pIVar8;\n  int *piVar9;\n  ulong uVar10;\n  DelegateInfo *delegate_info;\n  char *pcVar11;\n  char *pcVar12;\n  ImageInfo *image_info_00;\n  char *format;\n  Image *pIVar13;\n  ulong uVar14;\n  uint uVar15;\n  long in_FS_OFFSET;\n  bool bVar16;\n  double dVar17;\n  RectangleInfo bounding_box;\n  RectangleInfo page;\n  SegmentInfo bounds;\n  char command [4096];\n  char filename [4096];\n  char geometry [4096];\n  char input_filename [4096];\n  \n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pcl.c","ReadPCLImage",0xc9,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }\n  pIVar8 = AcquireImage(image_info,exception);\n  MVar4 = OpenBlob(image_info,pIVar8,ReadBinaryBlobMode,exception);\n  if (MVar4 == MagickFalse) {\n    DestroyImageList(pIVar8);\n    pIVar8 = (Image *)0x0;\n  }\n  else {\n    source = image_info->filename;\n    MVar4 = AcquireUniqueSymbolicLink(source,input_filename);\n    if (MVar4 == MagickFalse) {\n      piVar9 = __errno_location();\n      pcVar11 = GetExceptionMessage(*piVar9);\n      ThrowMagickException\n                (exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,\n                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11);\n      DestroyString(pcVar11);\n      DestroyImageList(pIVar8);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      if (((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)) {\n        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);\n        (pIVar8->resolution).x = bounds.x1;\n        if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }\n      }\n      bVar16 = pIVar8->colorspace == CMYKColorspace;\n      bounds.x1 = 0.0;\n      bounds.y1 = 0.0;\n      bounds.x2 = 0.0;\n      bounds.y2 = 0.0;\n      page.width = 0;\n      page.height = 0;\n      page.x = 0;\n      page.y = 0;\n      memset(command,0,0x1000);\n      iVar6 = ReadBlobByte(pIVar8);\n      if (iVar6 != -1) {\n        iVar7 = 0;\n        pdVar1 = &bounds.y2;\n        pcVar11 = command;\n        do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);\n      }\n      CloseBlob(pIVar8);\n      if ((page.width == 0) || (page.height == 0)) {\n        ParseAbsoluteGeometry("612x792",&page);\n      }\n      if (image_info->page != (char *)0x0) {\n        ParseAbsoluteGeometry(image_info->page,&page);\n      }\n      FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);\n      if (image_info->monochrome == MagickFalse) {\n        if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }\n      }\n      else {\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }\n      if (delegate_info == (DelegateInfo *)0x0) {\n        DestroyImage(pIVar8);\n        pIVar8 = (Image *)0x0;\n      }\n      else {\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }\n    }\n  }\n  if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return pIVar8;\n}" type_identifier (pointer_declarator "* ReadPCLImage(ImageInfo *image_info,ExceptionInfo *exception)" * (function_declarator "ReadPCLImage(ImageInfo *image_info,ExceptionInfo *exception)" identifier (parameter_list "(ImageInfo *image_info,ExceptionInfo *exception)" ( (parameter_declaration "ImageInfo *image_info" type_identifier (pointer_declarator "*image_info" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) )))) (compound_statement "{\n  double *pdVar1;\n  char *source;\n  char *source_00;\n  long lVar2;\n  size_t sVar3;\n  MagickBooleanType MVar4;\n  MagickStatusType MVar5;\n  int iVar6;\n  int iVar7;\n  Image *pIVar8;\n  int *piVar9;\n  ulong uVar10;\n  DelegateInfo *delegate_info;\n  char *pcVar11;\n  char *pcVar12;\n  ImageInfo *image_info_00;\n  char *format;\n  Image *pIVar13;\n  ulong uVar14;\n  uint uVar15;\n  long in_FS_OFFSET;\n  bool bVar16;\n  double dVar17;\n  RectangleInfo bounding_box;\n  RectangleInfo page;\n  SegmentInfo bounds;\n  char command [4096];\n  char filename [4096];\n  char geometry [4096];\n  char input_filename [4096];\n  \n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pcl.c","ReadPCLImage",0xc9,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }\n  pIVar8 = AcquireImage(image_info,exception);\n  MVar4 = OpenBlob(image_info,pIVar8,ReadBinaryBlobMode,exception);\n  if (MVar4 == MagickFalse) {\n    DestroyImageList(pIVar8);\n    pIVar8 = (Image *)0x0;\n  }\n  else {\n    source = image_info->filename;\n    MVar4 = AcquireUniqueSymbolicLink(source,input_filename);\n    if (MVar4 == MagickFalse) {\n      piVar9 = __errno_location();\n      pcVar11 = GetExceptionMessage(*piVar9);\n      ThrowMagickException\n                (exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,\n                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11);\n      DestroyString(pcVar11);\n      DestroyImageList(pIVar8);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      if (((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)) {\n        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);\n        (pIVar8->resolution).x = bounds.x1;\n        if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }\n      }\n      bVar16 = pIVar8->colorspace == CMYKColorspace;\n      bounds.x1 = 0.0;\n      bounds.y1 = 0.0;\n      bounds.x2 = 0.0;\n      bounds.y2 = 0.0;\n      page.width = 0;\n      page.height = 0;\n      page.x = 0;\n      page.y = 0;\n      memset(command,0,0x1000);\n      iVar6 = ReadBlobByte(pIVar8);\n      if (iVar6 != -1) {\n        iVar7 = 0;\n        pdVar1 = &bounds.y2;\n        pcVar11 = command;\n        do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);\n      }\n      CloseBlob(pIVar8);\n      if ((page.width == 0) || (page.height == 0)) {\n        ParseAbsoluteGeometry("612x792",&page);\n      }\n      if (image_info->page != (char *)0x0) {\n        ParseAbsoluteGeometry(image_info->page,&page);\n      }\n      FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);\n      if (image_info->monochrome == MagickFalse) {\n        if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }\n      }\n      else {\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }\n      if (delegate_info == (DelegateInfo *)0x0) {\n        DestroyImage(pIVar8);\n        pIVar8 = (Image *)0x0;\n      }\n      else {\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }\n    }\n  }\n  if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return pIVar8;\n}" { (declaration "double *pdVar1;" primitive_type (pointer_declarator "*pdVar1" * identifier) ;) (declaration "char *source;" primitive_type (pointer_declarator "*source" * identifier) ;) (declaration "char *source_00;" primitive_type (pointer_declarator "*source_00" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "MagickBooleanType MVar4;" type_identifier identifier ;) (declaration "MagickStatusType MVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "Image *pIVar8;" type_identifier (pointer_declarator "*pIVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "DelegateInfo *delegate_info;" type_identifier (pointer_declarator "*delegate_info" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "ImageInfo *image_info_00;" type_identifier (pointer_declarator "*image_info_00" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "Image *pIVar13;" type_identifier (pointer_declarator "*pIVar13" * identifier) ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "double dVar17;" primitive_type identifier ;) (declaration "RectangleInfo bounding_box;" type_identifier identifier ;) (declaration "RectangleInfo page;" type_identifier identifier ;) (declaration "SegmentInfo bounds;" type_identifier identifier ;) (declaration "char command [4096];" primitive_type (array_declarator "command [4096]" identifier [ number_literal ]) ;) (declaration "char filename [4096];" primitive_type (array_declarator "filename [4096]" identifier [ number_literal ]) ;) (declaration "char geometry [4096];" primitive_type (array_declarator "geometry [4096]" identifier [ number_literal ]) ;) (declaration "char input_filename [4096];" primitive_type (array_declarator "input_filename [4096]" identifier [ number_literal ]) ;) (expression_statement "lVar2 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar2 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" 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/pcl.c",0xc6,"ReadPCLImage");\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/pcl.c",0xc6,"ReadPCLImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\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/pcl.c",199,"ReadPCLImage");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pcl.c","ReadPCLImage",0xc9,"%s",image_info->filename);\n  }" if (parenthesized_expression "(image_info->debug != MagickFalse)" ( (binary_expression "image_info->debug != MagickFalse" (field_expression "image_info->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    LogMagickEvent(TraceEvent,"coders/pcl.c","ReadPCLImage",0xc9,"%s",image_info->filename);\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"coders/pcl.c","ReadPCLImage",0xc9,"%s",image_info->filename);" (call_expression "LogMagickEvent(TraceEvent,"coders/pcl.c","ReadPCLImage",0xc9,"%s",image_info->filename)" identifier (argument_list "(TraceEvent,"coders/pcl.c","ReadPCLImage",0xc9,"%s",image_info->filename)" ( identifier , (string_literal ""coders/pcl.c"" " string_content ") , (string_literal ""ReadPCLImage"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\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/pcl.c",0xcb,"ReadPCLImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (if_statement "if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\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/pcl.c",0xcc,"ReadPCLImage");\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (expression_statement "pIVar8 = AcquireImage(image_info,exception);" (assignment_expression "pIVar8 = AcquireImage(image_info,exception)" identifier = (call_expression "AcquireImage(image_info,exception)" identifier (argument_list "(image_info,exception)" ( identifier , identifier )))) ;) (expression_statement "MVar4 = OpenBlob(image_info,pIVar8,ReadBinaryBlobMode,exception);" (assignment_expression "MVar4 = OpenBlob(image_info,pIVar8,ReadBinaryBlobMode,exception)" identifier = (call_expression "OpenBlob(image_info,pIVar8,ReadBinaryBlobMode,exception)" identifier (argument_list "(image_info,pIVar8,ReadBinaryBlobMode,exception)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (MVar4 == MagickFalse) {\n    DestroyImageList(pIVar8);\n    pIVar8 = (Image *)0x0;\n  }\n  else {\n    source = image_info->filename;\n    MVar4 = AcquireUniqueSymbolicLink(source,input_filename);\n    if (MVar4 == MagickFalse) {\n      piVar9 = __errno_location();\n      pcVar11 = GetExceptionMessage(*piVar9);\n      ThrowMagickException\n                (exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,\n                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11);\n      DestroyString(pcVar11);\n      DestroyImageList(pIVar8);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      if (((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)) {\n        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);\n        (pIVar8->resolution).x = bounds.x1;\n        if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }\n      }\n      bVar16 = pIVar8->colorspace == CMYKColorspace;\n      bounds.x1 = 0.0;\n      bounds.y1 = 0.0;\n      bounds.x2 = 0.0;\n      bounds.y2 = 0.0;\n      page.width = 0;\n      page.height = 0;\n      page.x = 0;\n      page.y = 0;\n      memset(command,0,0x1000);\n      iVar6 = ReadBlobByte(pIVar8);\n      if (iVar6 != -1) {\n        iVar7 = 0;\n        pdVar1 = &bounds.y2;\n        pcVar11 = command;\n        do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);\n      }\n      CloseBlob(pIVar8);\n      if ((page.width == 0) || (page.height == 0)) {\n        ParseAbsoluteGeometry("612x792",&page);\n      }\n      if (image_info->page != (char *)0x0) {\n        ParseAbsoluteGeometry(image_info->page,&page);\n      }\n      FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);\n      if (image_info->monochrome == MagickFalse) {\n        if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }\n      }\n      else {\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }\n      if (delegate_info == (DelegateInfo *)0x0) {\n        DestroyImage(pIVar8);\n        pIVar8 = (Image *)0x0;\n      }\n      else {\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }\n    }\n  }" if (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) (compound_statement "{\n    DestroyImageList(pIVar8);\n    pIVar8 = (Image *)0x0;\n  }" { (expression_statement "DestroyImageList(pIVar8);" (call_expression "DestroyImageList(pIVar8)" identifier (argument_list "(pIVar8)" ( identifier ))) ;) (expression_statement "pIVar8 = (Image *)0x0;" (assignment_expression "pIVar8 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    source = image_info->filename;\n    MVar4 = AcquireUniqueSymbolicLink(source,input_filename);\n    if (MVar4 == MagickFalse) {\n      piVar9 = __errno_location();\n      pcVar11 = GetExceptionMessage(*piVar9);\n      ThrowMagickException\n                (exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,\n                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11);\n      DestroyString(pcVar11);\n      DestroyImageList(pIVar8);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      if (((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)) {\n        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);\n        (pIVar8->resolution).x = bounds.x1;\n        if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }\n      }\n      bVar16 = pIVar8->colorspace == CMYKColorspace;\n      bounds.x1 = 0.0;\n      bounds.y1 = 0.0;\n      bounds.x2 = 0.0;\n      bounds.y2 = 0.0;\n      page.width = 0;\n      page.height = 0;\n      page.x = 0;\n      page.y = 0;\n      memset(command,0,0x1000);\n      iVar6 = ReadBlobByte(pIVar8);\n      if (iVar6 != -1) {\n        iVar7 = 0;\n        pdVar1 = &bounds.y2;\n        pcVar11 = command;\n        do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);\n      }\n      CloseBlob(pIVar8);\n      if ((page.width == 0) || (page.height == 0)) {\n        ParseAbsoluteGeometry("612x792",&page);\n      }\n      if (image_info->page != (char *)0x0) {\n        ParseAbsoluteGeometry(image_info->page,&page);\n      }\n      FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);\n      if (image_info->monochrome == MagickFalse) {\n        if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }\n      }\n      else {\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }\n      if (delegate_info == (DelegateInfo *)0x0) {\n        DestroyImage(pIVar8);\n        pIVar8 = (Image *)0x0;\n      }\n      else {\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }\n    }\n  }" else (compound_statement "{\n    source = image_info->filename;\n    MVar4 = AcquireUniqueSymbolicLink(source,input_filename);\n    if (MVar4 == MagickFalse) {\n      piVar9 = __errno_location();\n      pcVar11 = GetExceptionMessage(*piVar9);\n      ThrowMagickException\n                (exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,\n                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11);\n      DestroyString(pcVar11);\n      DestroyImageList(pIVar8);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      if (((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)) {\n        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);\n        (pIVar8->resolution).x = bounds.x1;\n        if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }\n      }\n      bVar16 = pIVar8->colorspace == CMYKColorspace;\n      bounds.x1 = 0.0;\n      bounds.y1 = 0.0;\n      bounds.x2 = 0.0;\n      bounds.y2 = 0.0;\n      page.width = 0;\n      page.height = 0;\n      page.x = 0;\n      page.y = 0;\n      memset(command,0,0x1000);\n      iVar6 = ReadBlobByte(pIVar8);\n      if (iVar6 != -1) {\n        iVar7 = 0;\n        pdVar1 = &bounds.y2;\n        pcVar11 = command;\n        do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);\n      }\n      CloseBlob(pIVar8);\n      if ((page.width == 0) || (page.height == 0)) {\n        ParseAbsoluteGeometry("612x792",&page);\n      }\n      if (image_info->page != (char *)0x0) {\n        ParseAbsoluteGeometry(image_info->page,&page);\n      }\n      FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);\n      if (image_info->monochrome == MagickFalse) {\n        if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }\n      }\n      else {\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }\n      if (delegate_info == (DelegateInfo *)0x0) {\n        DestroyImage(pIVar8);\n        pIVar8 = (Image *)0x0;\n      }\n      else {\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }\n    }\n  }" { (expression_statement "source = image_info->filename;" (assignment_expression "source = image_info->filename" identifier = (field_expression "image_info->filename" identifier -> field_identifier)) ;) (expression_statement "MVar4 = AcquireUniqueSymbolicLink(source,input_filename);" (assignment_expression "MVar4 = AcquireUniqueSymbolicLink(source,input_filename)" identifier = (call_expression "AcquireUniqueSymbolicLink(source,input_filename)" identifier (argument_list "(source,input_filename)" ( identifier , identifier )))) ;) (if_statement "if (MVar4 == MagickFalse) {\n      piVar9 = __errno_location();\n      pcVar11 = GetExceptionMessage(*piVar9);\n      ThrowMagickException\n                (exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,\n                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11);\n      DestroyString(pcVar11);\n      DestroyImageList(pIVar8);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      if (((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)) {\n        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);\n        (pIVar8->resolution).x = bounds.x1;\n        if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }\n      }\n      bVar16 = pIVar8->colorspace == CMYKColorspace;\n      bounds.x1 = 0.0;\n      bounds.y1 = 0.0;\n      bounds.x2 = 0.0;\n      bounds.y2 = 0.0;\n      page.width = 0;\n      page.height = 0;\n      page.x = 0;\n      page.y = 0;\n      memset(command,0,0x1000);\n      iVar6 = ReadBlobByte(pIVar8);\n      if (iVar6 != -1) {\n        iVar7 = 0;\n        pdVar1 = &bounds.y2;\n        pcVar11 = command;\n        do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);\n      }\n      CloseBlob(pIVar8);\n      if ((page.width == 0) || (page.height == 0)) {\n        ParseAbsoluteGeometry("612x792",&page);\n      }\n      if (image_info->page != (char *)0x0) {\n        ParseAbsoluteGeometry(image_info->page,&page);\n      }\n      FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);\n      if (image_info->monochrome == MagickFalse) {\n        if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }\n      }\n      else {\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }\n      if (delegate_info == (DelegateInfo *)0x0) {\n        DestroyImage(pIVar8);\n        pIVar8 = (Image *)0x0;\n      }\n      else {\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }\n    }" if (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) (compound_statement "{\n      piVar9 = __errno_location();\n      pcVar11 = GetExceptionMessage(*piVar9);\n      ThrowMagickException\n                (exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,\n                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11);\n      DestroyString(pcVar11);\n      DestroyImageList(pIVar8);\n      pIVar8 = (Image *)0x0;\n    }" { (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar11 = GetExceptionMessage(*piVar9);" (assignment_expression "pcVar11 = GetExceptionMessage(*piVar9)" identifier = (call_expression "GetExceptionMessage(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                (exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,\n                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11);" (call_expression "ThrowMagickException\n                (exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,\n                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11)" identifier (argument_list "(exception,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,\n                 "UnableToCreateTemporaryFile","\'%s\': %s",source,pcVar11)" ( identifier , (string_literal ""coders/pcl.c"" " string_content ") , (string_literal ""ReadPCLImage"" " string_content ") , number_literal , identifier , (string_literal ""UnableToCreateTemporaryFile"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(pcVar11);" (call_expression "DestroyString(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier ))) ;) (expression_statement "DestroyImageList(pIVar8);" (call_expression "DestroyImageList(pIVar8)" identifier (argument_list "(pIVar8)" ( identifier ))) ;) (expression_statement "pIVar8 = (Image *)0x0;" (assignment_expression "pIVar8 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      if (((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)) {\n        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);\n        (pIVar8->resolution).x = bounds.x1;\n        if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }\n      }\n      bVar16 = pIVar8->colorspace == CMYKColorspace;\n      bounds.x1 = 0.0;\n      bounds.y1 = 0.0;\n      bounds.x2 = 0.0;\n      bounds.y2 = 0.0;\n      page.width = 0;\n      page.height = 0;\n      page.x = 0;\n      page.y = 0;\n      memset(command,0,0x1000);\n      iVar6 = ReadBlobByte(pIVar8);\n      if (iVar6 != -1) {\n        iVar7 = 0;\n        pdVar1 = &bounds.y2;\n        pcVar11 = command;\n        do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);\n      }\n      CloseBlob(pIVar8);\n      if ((page.width == 0) || (page.height == 0)) {\n        ParseAbsoluteGeometry("612x792",&page);\n      }\n      if (image_info->page != (char *)0x0) {\n        ParseAbsoluteGeometry(image_info->page,&page);\n      }\n      FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);\n      if (image_info->monochrome == MagickFalse) {\n        if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }\n      }\n      else {\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }\n      if (delegate_info == (DelegateInfo *)0x0) {\n        DestroyImage(pIVar8);\n        pIVar8 = (Image *)0x0;\n      }\n      else {\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }\n    }" else (compound_statement "{\n      if (((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)) {\n        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);\n        (pIVar8->resolution).x = bounds.x1;\n        if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }\n      }\n      bVar16 = pIVar8->colorspace == CMYKColorspace;\n      bounds.x1 = 0.0;\n      bounds.y1 = 0.0;\n      bounds.x2 = 0.0;\n      bounds.y2 = 0.0;\n      page.width = 0;\n      page.height = 0;\n      page.x = 0;\n      page.y = 0;\n      memset(command,0,0x1000);\n      iVar6 = ReadBlobByte(pIVar8);\n      if (iVar6 != -1) {\n        iVar7 = 0;\n        pdVar1 = &bounds.y2;\n        pcVar11 = command;\n        do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);\n      }\n      CloseBlob(pIVar8);\n      if ((page.width == 0) || (page.height == 0)) {\n        ParseAbsoluteGeometry("612x792",&page);\n      }\n      if (image_info->page != (char *)0x0) {\n        ParseAbsoluteGeometry(image_info->page,&page);\n      }\n      FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);\n      if (image_info->monochrome == MagickFalse) {\n        if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }\n      }\n      else {\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }\n      if (delegate_info == (DelegateInfo *)0x0) {\n        DestroyImage(pIVar8);\n        pIVar8 = (Image *)0x0;\n      }\n      else {\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }\n    }" { (if_statement "if (((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)) {\n        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);\n        (pIVar8->resolution).x = bounds.x1;\n        if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }\n      }" if (parenthesized_expression "(((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0))" ( (binary_expression "((pIVar8->resolution).x == 0.0) || ((pIVar8->resolution).y == 0.0)" (parenthesized_expression "((pIVar8->resolution).x == 0.0)" ( (binary_expression "(pIVar8->resolution).x == 0.0" (field_expression "(pIVar8->resolution).x" (parenthesized_expression "(pIVar8->resolution)" ( (field_expression "pIVar8->resolution" identifier -> field_identifier) )) . field_identifier) == number_literal) )) || (parenthesized_expression "((pIVar8->resolution).y == 0.0)" ( (binary_expression "(pIVar8->resolution).y == 0.0" (field_expression "(pIVar8->resolution).y" (parenthesized_expression "(pIVar8->resolution)" ( (field_expression "pIVar8->resolution" identifier -> field_identifier) )) . field_identifier) == number_literal) ))) )) (compound_statement "{\n        MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);\n        (pIVar8->resolution).x = bounds.x1;\n        if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }\n      }" { (expression_statement "MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds);" (assignment_expression "MVar5 = ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds)" identifier = (call_expression "ParseGeometry("72.0x72.0",(GeometryInfo *)&bounds)" identifier (argument_list "("72.0x72.0",(GeometryInfo *)&bounds)" ( (string_literal ""72.0x72.0"" " string_content ") , (cast_expression "(GeometryInfo *)&bounds" ( (type_descriptor "GeometryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&bounds" & identifier)) )))) ;) (expression_statement "(pIVar8->resolution).x = bounds.x1;" (assignment_expression "(pIVar8->resolution).x = bounds.x1" (field_expression "(pIVar8->resolution).x" (parenthesized_expression "(pIVar8->resolution)" ( (field_expression "pIVar8->resolution" identifier -> field_identifier) )) . field_identifier) = (field_expression "bounds.x1" identifier . field_identifier)) ;) (if_statement "if ((MVar5 & 8) == 0) {\n          (pIVar8->resolution).y = bounds.x1;\n        }\n        else {\n          (pIVar8->resolution).y = bounds.y1;\n        }" if (parenthesized_expression "((MVar5 & 8) == 0)" ( (binary_expression "(MVar5 & 8) == 0" (parenthesized_expression "(MVar5 & 8)" ( (binary_expression "MVar5 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          (pIVar8->resolution).y = bounds.x1;\n        }" { (expression_statement "(pIVar8->resolution).y = bounds.x1;" (assignment_expression "(pIVar8->resolution).y = bounds.x1" (field_expression "(pIVar8->resolution).y" (parenthesized_expression "(pIVar8->resolution)" ( (field_expression "pIVar8->resolution" identifier -> field_identifier) )) . field_identifier) = (field_expression "bounds.x1" identifier . field_identifier)) ;) }) (else_clause "else {\n          (pIVar8->resolution).y = bounds.y1;\n        }" else (compound_statement "{\n          (pIVar8->resolution).y = bounds.y1;\n        }" { (expression_statement "(pIVar8->resolution).y = bounds.y1;" (assignment_expression "(pIVar8->resolution).y = bounds.y1" (field_expression "(pIVar8->resolution).y" (parenthesized_expression "(pIVar8->resolution)" ( (field_expression "pIVar8->resolution" identifier -> field_identifier) )) . field_identifier) = (field_expression "bounds.y1" identifier . field_identifier)) ;) }))) })) (expression_statement "bVar16 = pIVar8->colorspace == CMYKColorspace;" (assignment_expression "bVar16 = pIVar8->colorspace == CMYKColorspace" identifier = (binary_expression "pIVar8->colorspace == CMYKColorspace" (field_expression "pIVar8->colorspace" identifier -> field_identifier) == identifier)) ;) (expression_statement "bounds.x1 = 0.0;" (assignment_expression "bounds.x1 = 0.0" (field_expression "bounds.x1" identifier . field_identifier) = number_literal) ;) (expression_statement "bounds.y1 = 0.0;" (assignment_expression "bounds.y1 = 0.0" (field_expression "bounds.y1" identifier . field_identifier) = number_literal) ;) (expression_statement "bounds.x2 = 0.0;" (assignment_expression "bounds.x2 = 0.0" (field_expression "bounds.x2" identifier . field_identifier) = number_literal) ;) (expression_statement "bounds.y2 = 0.0;" (assignment_expression "bounds.y2 = 0.0" (field_expression "bounds.y2" identifier . field_identifier) = number_literal) ;) (expression_statement "page.width = 0;" (assignment_expression "page.width = 0" (field_expression "page.width" identifier . field_identifier) = number_literal) ;) (expression_statement "page.height = 0;" (assignment_expression "page.height = 0" (field_expression "page.height" identifier . field_identifier) = number_literal) ;) (expression_statement "page.x = 0;" (assignment_expression "page.x = 0" (field_expression "page.x" identifier . field_identifier) = number_literal) ;) (expression_statement "page.y = 0;" (assignment_expression "page.y = 0" (field_expression "page.y" identifier . field_identifier) = number_literal) ;) (expression_statement "memset(command,0,0x1000);" (call_expression "memset(command,0,0x1000)" identifier (argument_list "(command,0,0x1000)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "iVar6 = ReadBlobByte(pIVar8);" (assignment_expression "iVar6 = ReadBlobByte(pIVar8)" identifier = (call_expression "ReadBlobByte(pIVar8)" identifier (argument_list "(pIVar8)" ( identifier )))) ;) (if_statement "if (iVar6 != -1) {\n        iVar7 = 0;\n        pdVar1 = &bounds.y2;\n        pcVar11 = command;\n        do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);\n      }" if (parenthesized_expression "(iVar6 != -1)" ( (binary_expression "iVar6 != -1" identifier != number_literal) )) (compound_statement "{\n        iVar7 = 0;\n        pdVar1 = &bounds.y2;\n        pcVar11 = command;\n        do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);\n      }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pdVar1 = &bounds.y2;" (assignment_expression "pdVar1 = &bounds.y2" identifier = (pointer_expression "&bounds.y2" & (field_expression "bounds.y2" identifier . field_identifier))) ;) (expression_statement "pcVar11 = command;" (assignment_expression "pcVar11 = command" identifier = identifier) ;) (do_statement "do {\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        } while (iVar6 != -1);" do (compound_statement "{\n          pcVar12 = pcVar11;\n          if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }\nLAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);\n          pcVar11 = pcVar12;\n        }" { (expression_statement "pcVar12 = pcVar11;" (assignment_expression "pcVar12 = pcVar11" identifier = identifier) ;) (if_statement "if ((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))) {\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }" if (parenthesized_expression "((image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command)))))" ( (binary_expression "(image_info->page == (char *)0x0) &&\n             (((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))" (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)) )) && (parenthesized_expression "(((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))))" ( (parenthesized_expression "((*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command)))" ( (binary_expression "(*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)) ||\n              (pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))" (parenthesized_expression "(*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10))" ( (comma_expression "*pcVar11 = (char)iVar6, iVar6 == 0x2f || (iVar6 == 10)" (assignment_expression "*pcVar11 = (char)iVar6" (pointer_expression "*pcVar11" * identifier) = (cast_expression "(char)iVar6" ( (type_descriptor "char" primitive_type) ) identifier)) , (binary_expression "iVar6 == 0x2f || (iVar6 == 10)" (binary_expression "iVar6 == 0x2f" identifier == number_literal) || (parenthesized_expression "(iVar6 == 10)" ( (binary_expression "iVar6 == 10" identifier == number_literal) )))) )) || (parenthesized_expression "(pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command))" ( (comma_expression "pcVar12 = pcVar11 + 1, 0xffe < (ulong)((long)pcVar12 - (long)command)" (assignment_expression "pcVar12 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) , (binary_expression "0xffe < (ulong)((long)pcVar12 - (long)command)" number_literal < (call_expression "(ulong)((long)pcVar12 - (long)command)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)pcVar12 - (long)command)" ( (binary_expression "(long)pcVar12 - (long)command" (cast_expression "(long)pcVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)command" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))))) ))) )) ))) )) (compound_statement "{\n            pcVar11[1] = '\0';\n            iVar6 = LocaleNCompare("DeviceCMYK",command,10);\n            if (iVar6 == 0) {\n              bVar16 = true;\n            }\n            iVar6 = LocaleNCompare("CropBox",command,7);\n            if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }\n            dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;\n            if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }\n            if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }\n            if (page.width < uVar14) {\n              page.width = uVar14;\n            }\n            if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }\n          }" { (expression_statement "pcVar11[1] = '\0';" (assignment_expression "pcVar11[1] = '\0'" (subscript_expression "pcVar11[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar6 = LocaleNCompare("DeviceCMYK",command,10);" (assignment_expression "iVar6 = LocaleNCompare("DeviceCMYK",command,10)" identifier = (call_expression "LocaleNCompare("DeviceCMYK",command,10)" identifier (argument_list "("DeviceCMYK",command,10)" ( (string_literal ""DeviceCMYK"" " string_content ") , identifier , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n              bVar16 = true;\n            }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n              bVar16 = true;\n            }" { (expression_statement "bVar16 = true;" (assignment_expression "bVar16 = true" identifier = true) ;) })) (expression_statement "iVar6 = LocaleNCompare("CropBox",command,7);" (assignment_expression "iVar6 = LocaleNCompare("CropBox",command,7)" identifier = (call_expression "LocaleNCompare("CropBox",command,7)" identifier (argument_list "("CropBox",command,7)" ( (string_literal ""CropBox"" " string_content ") , identifier , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );\n              if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) goto LAB_0038807b;\n            }" { (expression_statement "iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            );" (assignment_expression "iVar6 = sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            )" identifier = (call_expression "sscanf(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            )" identifier (argument_list "(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1\n                            )" ( identifier , (string_literal ""CropBox [%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&bounds" & identifier) , (pointer_expression "&bounds.y1" & (field_expression "bounds.y1" identifier . field_identifier)) , (pointer_expression "&bounds.x2" & (field_expression "bounds.x2" identifier . field_identifier)) , identifier )))) ;) (if_statement "if (iVar6 != 4) {\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }" if (parenthesized_expression "(iVar6 != 4)" ( (binary_expression "iVar6 != 4" identifier != number_literal) )) (compound_statement "{\n                iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                goto LAB_00387fa1;\n              }" { (expression_statement "iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);" (assignment_expression "iVar7 = sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1)" identifier = (call_expression "sscanf(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1)" identifier (argument_list "(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1)" ( identifier , (string_literal ""CropBox[%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&bounds" & identifier) , (pointer_expression "&bounds.y1" & (field_expression "bounds.y1" identifier . field_identifier)) , (pointer_expression "&bounds.x2" & (field_expression "bounds.x2" identifier . field_identifier)) , identifier )))) ;) (goto_statement "goto LAB_00387fa1;" goto statement_identifier ;) })) (expression_statement "iVar6 = LocaleNCompare("MediaBox",command,8);" (assignment_expression "iVar6 = LocaleNCompare("MediaBox",command,8)" identifier = (call_expression "LocaleNCompare("MediaBox",command,8)" identifier (argument_list "("MediaBox",command,8)" ( (string_literal ""MediaBox"" " string_content ") , identifier , number_literal )))) ;) (if_statement "if (iVar6 == 0) goto LAB_0038807b;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0038807b;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }" else (compound_statement "{\nLAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);\n              if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }\n              pcVar12 = command;\n              if (iVar7 != 4) goto LAB_00387fd6;\n            }" { (labeled_statement "LAB_00387fa1:\n              iVar6 = LocaleNCompare("MediaBox",command,8);" statement_identifier : (expression_statement "iVar6 = LocaleNCompare("MediaBox",command,8);" (assignment_expression "iVar6 = LocaleNCompare("MediaBox",command,8)" identifier = (call_expression "LocaleNCompare("MediaBox",command,8)" identifier (argument_list "("MediaBox",command,8)" ( (string_literal ""MediaBox"" " string_content ") , identifier , number_literal )))) ;)) (if_statement "if (iVar6 == 0) {\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n                if (iVar6 == 4) goto LAB_003880b0;\n                iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);\n              }" { (labeled_statement "LAB_0038807b:\n                iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);" statement_identifier : (expression_statement "iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);" (assignment_expression "iVar6 = sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1)" identifier = (call_expression "sscanf(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1)" identifier (argument_list "(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1)" ( identifier , (string_literal ""MediaBox [%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&bounds" & identifier) , (pointer_expression "&bounds.y1" & (field_expression "bounds.y1" identifier . field_identifier)) , (pointer_expression "&bounds.x2" & (field_expression "bounds.x2" identifier . field_identifier)) , identifier )))) ;)) (if_statement "if (iVar6 == 4) goto LAB_003880b0;" if (parenthesized_expression "(iVar6 == 4)" ( (binary_expression "iVar6 == 4" identifier == number_literal) )) (goto_statement "goto LAB_003880b0;" goto statement_identifier ;)) (expression_statement "iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1);" (assignment_expression "iVar7 = sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1)" identifier = (call_expression "sscanf(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1)" identifier (argument_list "(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,\n                               pdVar1)" ( identifier , (string_literal ""MediaBox[%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&bounds" & identifier) , (pointer_expression "&bounds.y1" & (field_expression "bounds.y1" identifier . field_identifier)) , (pointer_expression "&bounds.x2" & (field_expression "bounds.x2" identifier . field_identifier)) , identifier )))) ;) })) (expression_statement "pcVar12 = command;" (assignment_expression "pcVar12 = command" identifier = identifier) ;) (if_statement "if (iVar7 != 4) goto LAB_00387fd6;" if (parenthesized_expression "(iVar7 != 4)" ( (binary_expression "iVar7 != 4" identifier != number_literal) )) (goto_statement "goto LAB_00387fd6;" goto statement_identifier ;)) }))) (labeled_statement "LAB_003880b0:\n            dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;" statement_identifier : (expression_statement "dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28;" (assignment_expression "dVar17 = (bounds.x2 - bounds.x1) + DAT_003f9c28" identifier = (binary_expression "(bounds.x2 - bounds.x1) + DAT_003f9c28" (parenthesized_expression "(bounds.x2 - bounds.x1)" ( (binary_expression "bounds.x2 - bounds.x1" (field_expression "bounds.x2" identifier . field_identifier) - (field_expression "bounds.x1" identifier . field_identifier)) )) + identifier)) ;)) (if_statement "if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }" if (parenthesized_expression "((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar17 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar17 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar17 & DAT_003f9c70" (cast_expression "(ulong)dVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }" { (expression_statement "dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );" (assignment_expression "dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               )" identifier = (cast_expression "(double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               )" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               )" ( (binary_expression "(ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17" (call_expression "(ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar17" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar17 < (double)(long)dVar17)" - (call_expression "(ulong)(dVar17 < (double)(long)dVar17)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar17 < (double)(long)dVar17)" ( (binary_expression "dVar17 < (double)(long)dVar17" identifier < (cast_expression "(double)(long)dVar17" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar17" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar17" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar17) {\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar14 = (ulong)dVar17;\n            }" if (parenthesized_expression "(DAT_003f9c40 <= dVar17)" ( (binary_expression "DAT_003f9c40 <= dVar17" identifier <= identifier) )) (compound_statement "{\n              uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }" { (expression_statement "uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "uVar14 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000" identifier = (binary_expression "(long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar17 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar17 - DAT_003f9c40)" ( (binary_expression "dVar17 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n              uVar14 = (ulong)dVar17;\n            }" else (compound_statement "{\n              uVar14 = (ulong)dVar17;\n            }" { (expression_statement "uVar14 = (ulong)dVar17;" (assignment_expression "uVar14 = (ulong)dVar17" identifier = (cast_expression "(ulong)dVar17" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (expression_statement "dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28;" (assignment_expression "dVar17 = (bounds.y2 - bounds.y1) + DAT_003f9c28" identifier = (binary_expression "(bounds.y2 - bounds.y1) + DAT_003f9c28" (parenthesized_expression "(bounds.y2 - bounds.y1)" ( (binary_expression "bounds.y2 - bounds.y1" (field_expression "bounds.y2" identifier . field_identifier) - (field_expression "bounds.y1" identifier . field_identifier)) )) + identifier)) ;) (if_statement "if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }" if (parenthesized_expression "((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar17 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar17 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar17 & DAT_003f9c70" (cast_expression "(ulong)dVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n              dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );\n            }" { (expression_statement "dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               );" (assignment_expression "dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               )" identifier = (cast_expression "(double)((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               )" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17\n                               )" ( (binary_expression "(ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17" (call_expression "(ulong)((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar17 -\n                                       (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar17" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar17 < (double)(long)dVar17) &\n                                               (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar17 < (double)(long)dVar17)" - (call_expression "(ulong)(dVar17 < (double)(long)dVar17)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar17 < (double)(long)dVar17)" ( (binary_expression "dVar17 < (double)(long)dVar17" identifier < (cast_expression "(double)(long)dVar17" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar17" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar17" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar17) {\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar10 = (ulong)dVar17;\n            }" if (parenthesized_expression "(DAT_003f9c40 <= dVar17)" ( (binary_expression "DAT_003f9c40 <= dVar17" identifier <= identifier) )) (compound_statement "{\n              uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n            }" { (expression_statement "uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "uVar10 = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000" identifier = (binary_expression "(long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar17 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar17 - DAT_003f9c40)" ( (binary_expression "dVar17 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n              uVar10 = (ulong)dVar17;\n            }" else (compound_statement "{\n              uVar10 = (ulong)dVar17;\n            }" { (expression_statement "uVar10 = (ulong)dVar17;" (assignment_expression "uVar10 = (ulong)dVar17" identifier = (cast_expression "(ulong)dVar17" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (if_statement "if (page.width < uVar14) {\n              page.width = uVar14;\n            }" if (parenthesized_expression "(page.width < uVar14)" ( (binary_expression "page.width < uVar14" (field_expression "page.width" identifier . field_identifier) < identifier) )) (compound_statement "{\n              page.width = uVar14;\n            }" { (expression_statement "page.width = uVar14;" (assignment_expression "page.width = uVar14" (field_expression "page.width" identifier . field_identifier) = identifier) ;) })) (if_statement "if (page.height < uVar10) {\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }\n            else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }" if (parenthesized_expression "(page.height < uVar10)" ( (binary_expression "page.height < uVar10" (field_expression "page.height" identifier . field_identifier) < identifier) )) (compound_statement "{\n              iVar7 = 4;\n              pcVar12 = command;\n              page.height = uVar10;\n            }" { (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) (expression_statement "pcVar12 = command;" (assignment_expression "pcVar12 = command" identifier = identifier) ;) (expression_statement "page.height = uVar10;" (assignment_expression "page.height = uVar10" (field_expression "page.height" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n              iVar7 = 4;\n              pcVar12 = command;\n            }" else (compound_statement "{\n              iVar7 = 4;\n              pcVar12 = command;\n            }" { (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) (expression_statement "pcVar12 = command;" (assignment_expression "pcVar12 = command" identifier = identifier) ;) }))) })) (labeled_statement "LAB_00387fd6:\n          iVar6 = ReadBlobByte(pIVar8);" statement_identifier : (expression_statement "iVar6 = ReadBlobByte(pIVar8);" (assignment_expression "iVar6 = ReadBlobByte(pIVar8)" identifier = (call_expression "ReadBlobByte(pIVar8)" identifier (argument_list "(pIVar8)" ( identifier )))) ;)) (expression_statement "pcVar11 = pcVar12;" (assignment_expression "pcVar11 = pcVar12" identifier = identifier) ;) }) while (parenthesized_expression "(iVar6 != -1)" ( (binary_expression "iVar6 != -1" identifier != number_literal) )) ;) })) (expression_statement "CloseBlob(pIVar8);" (call_expression "CloseBlob(pIVar8)" identifier (argument_list "(pIVar8)" ( identifier ))) ;) (if_statement "if ((page.width == 0) || (page.height == 0)) {\n        ParseAbsoluteGeometry("612x792",&page);\n      }" if (parenthesized_expression "((page.width == 0) || (page.height == 0))" ( (binary_expression "(page.width == 0) || (page.height == 0)" (parenthesized_expression "(page.width == 0)" ( (binary_expression "page.width == 0" (field_expression "page.width" identifier . field_identifier) == number_literal) )) || (parenthesized_expression "(page.height == 0)" ( (binary_expression "page.height == 0" (field_expression "page.height" identifier . field_identifier) == number_literal) ))) )) (compound_statement "{\n        ParseAbsoluteGeometry("612x792",&page);\n      }" { (expression_statement "ParseAbsoluteGeometry("612x792",&page);" (call_expression "ParseAbsoluteGeometry("612x792",&page)" identifier (argument_list "("612x792",&page)" ( (string_literal ""612x792"" " string_content ") , (pointer_expression "&page" & identifier) ))) ;) })) (if_statement "if (image_info->page != (char *)0x0) {\n        ParseAbsoluteGeometry(image_info->page,&page);\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        ParseAbsoluteGeometry(image_info->page,&page);\n      }" { (expression_statement "ParseAbsoluteGeometry(image_info->page,&page);" (call_expression "ParseAbsoluteGeometry(image_info->page,&page)" identifier (argument_list "(image_info->page,&page)" ( (field_expression "image_info->page" identifier -> field_identifier) , (pointer_expression "&page" & identifier) ))) ;) })) (expression_statement "FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);" (call_expression "FormatLocaleString(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height)" identifier (argument_list "(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height)" ( identifier , number_literal , (string_literal ""%.20gx%.20g"" " string_content ") , (cast_expression "(double)page.width" ( (type_descriptor "double" primitive_type) ) (field_expression "page.width" identifier . field_identifier)) , (cast_expression "(double)page.height" ( (type_descriptor "double" primitive_type) ) (field_expression "page.height" identifier . field_identifier)) ))) ;) (if_statement "if (image_info->monochrome == MagickFalse) {\n        if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }\n      }\n      else {\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }" if (parenthesized_expression "(image_info->monochrome == MagickFalse)" ( (binary_expression "image_info->monochrome == MagickFalse" (field_expression "image_info->monochrome" identifier -> field_identifier) == identifier) )) (compound_statement "{\n        if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }\n      }" { (if_statement "if (bVar16) {\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }\n        else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }" if (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n          delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);\n        }" { (expression_statement "delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception);" (assignment_expression "delegate_info = GetDelegateInfo("pcl:cmyk",(char *)0x0,exception)" identifier = (call_expression "GetDelegateInfo("pcl:cmyk",(char *)0x0,exception)" identifier (argument_list "("pcl:cmyk",(char *)0x0,exception)" ( (string_literal ""pcl:cmyk"" " string_content ") , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier )))) ;) }) (else_clause "else {\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }" else (compound_statement "{\n          delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);\n        }" { (expression_statement "delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception);" (assignment_expression "delegate_info = GetDelegateInfo("pcl:color",(char *)0x0,exception)" identifier = (call_expression "GetDelegateInfo("pcl:color",(char *)0x0,exception)" identifier (argument_list "("pcl:color",(char *)0x0,exception)" ( (string_literal ""pcl:color"" " string_content ") , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier )))) ;) }))) }) (else_clause "else {\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }" else (compound_statement "{\n        delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);\n      }" { (expression_statement "delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception);" (assignment_expression "delegate_info = GetDelegateInfo("pcl:mono",(char *)0x0,exception)" identifier = (call_expression "GetDelegateInfo("pcl:mono",(char *)0x0,exception)" identifier (argument_list "("pcl:mono",(char *)0x0,exception)" ( (string_literal ""pcl:mono"" " string_content ") , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier )))) ;) }))) (if_statement "if (delegate_info == (DelegateInfo *)0x0) {\n        DestroyImage(pIVar8);\n        pIVar8 = (Image *)0x0;\n      }\n      else {\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }" if (parenthesized_expression "(delegate_info == (DelegateInfo *)0x0)" ( (binary_expression "delegate_info == (DelegateInfo *)0x0" identifier == (cast_expression "(DelegateInfo *)0x0" ( (type_descriptor "DelegateInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        DestroyImage(pIVar8);\n        pIVar8 = (Image *)0x0;\n      }" { (expression_statement "DestroyImage(pIVar8);" (call_expression "DestroyImage(pIVar8)" identifier (argument_list "(pIVar8)" ( identifier ))) ;) (expression_statement "pIVar8 = (Image *)0x0;" (assignment_expression "pIVar8 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }" else (compound_statement "{\n        if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }\n        if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\n        }\n        pcVar11 = AcquireString("");\n        pcVar12 = AcquireString("");\n        FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);\n        dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }\n        dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }\n        if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }\n        FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);\n        DestroyImage(pIVar8);\n        image_info_00 = CloneImageInfo(image_info);\n        image_info_00->magick[0] = '\0';\n        sVar3 = image_info_00->number_scenes;\n        if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }\n        source_00 = image_info_00->filename;\n        CopyMagickString(filename,source_00,0x1000);\n        AcquireUniqueFilename(source_00);\n        uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;\n        format = GetDelegateCommands(delegate_info);\n        FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);\n        DestroyString(pcVar12);\n        DestroyString(pcVar11);\n        ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);\n        pIVar8 = ReadImage(image_info_00,exception);\n        RelinquishUniqueFileResource(source_00);\n        RelinquishUniqueFileResource(input_filename);\n        DestroyImageInfo(image_info_00);\n        if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }\n      }" { (if_statement "if ((page.width == 0) || (page.height == 0)) {\n          ParseAbsoluteGeometry("612x792",&page);\n        }" if (parenthesized_expression "((page.width == 0) || (page.height == 0))" ( (binary_expression "(page.width == 0) || (page.height == 0)" (parenthesized_expression "(page.width == 0)" ( (binary_expression "page.width == 0" (field_expression "page.width" identifier . field_identifier) == number_literal) )) || (parenthesized_expression "(page.height == 0)" ( (binary_expression "page.height == 0" (field_expression "page.height" identifier . field_identifier) == number_literal) ))) )) (compound_statement "{\n          ParseAbsoluteGeometry("612x792",&page);\n        }" { (expression_statement "ParseAbsoluteGeometry("612x792",&page);" (call_expression "ParseAbsoluteGeometry("612x792",&page)" identifier (argument_list "("612x792",&page)" ( (string_literal ""612x792"" " string_content ") , (pointer_expression "&page" & identifier) ))) ;) })) (if_statement "if (image_info->page != (char *)0x0) {\n          ParseAbsoluteGeometry(image_info->page,&page);\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          ParseAbsoluteGeometry(image_info->page,&page);\n        }" { (expression_statement "ParseAbsoluteGeometry(image_info->page,&page);" (call_expression "ParseAbsoluteGeometry(image_info->page,&page)" identifier (argument_list "(image_info->page,&page)" ( (field_expression "image_info->page" identifier -> field_identifier) , (pointer_expression "&page" & identifier) ))) ;) })) (expression_statement "pcVar11 = AcquireString("");" (assignment_expression "pcVar11 = AcquireString("")" identifier = (call_expression "AcquireString("")" identifier (argument_list "("")" ( (string_literal """" " ") )))) ;) (expression_statement "pcVar12 = AcquireString("");" (assignment_expression "pcVar12 = AcquireString("")" identifier = (call_expression "AcquireString("")" identifier (argument_list "("")" ( (string_literal """" " ") )))) ;) (expression_statement "FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y);" (call_expression "FormatLocaleString(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y)" identifier (argument_list "(pcVar11,0x1000,"%gx%g",(pIVar8->resolution).x,(pIVar8->resolution).y)" ( identifier , number_literal , (string_literal ""%gx%g"" " string_content ") , (field_expression "(pIVar8->resolution).x" (parenthesized_expression "(pIVar8->resolution)" ( (field_expression "pIVar8->resolution" identifier -> field_identifier) )) . field_identifier) , (field_expression "(pIVar8->resolution).y" (parenthesized_expression "(pIVar8->resolution)" ( (field_expression "pIVar8->resolution" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28;" (assignment_expression "dVar17 = ((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28" identifier = (binary_expression "((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20 + DAT_003f9c28" (binary_expression "((double)page.width * (pIVar8->resolution).x) / DAT_003f9c20" (parenthesized_expression "((double)page.width * (pIVar8->resolution).x)" ( (binary_expression "(double)page.width * (pIVar8->resolution).x" (cast_expression "(double)page.width" ( (type_descriptor "double" primitive_type) ) (field_expression "page.width" identifier . field_identifier)) * (field_expression "(pIVar8->resolution).x" (parenthesized_expression "(pIVar8->resolution)" ( (field_expression "pIVar8->resolution" identifier -> field_identifier) )) . field_identifier)) )) / identifier) + identifier)) ;) (if_statement "if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }" if (parenthesized_expression "((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar17 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar17 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar17 & DAT_003f9c70" (cast_expression "(ulong)dVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }" { (expression_statement "dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);" (assignment_expression "dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17)" identifier = (cast_expression "(double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17)" ( (binary_expression "(ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17" (call_expression "(ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar17" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar17 < (double)(long)dVar17)" - (call_expression "(ulong)(dVar17 < (double)(long)dVar17)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar17 < (double)(long)dVar17)" ( (binary_expression "dVar17 < (double)(long)dVar17" identifier < (cast_expression "(double)(long)dVar17" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar17" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar17" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar17) {\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.width = (size_t)dVar17;\n        }" if (parenthesized_expression "(DAT_003f9c40 <= dVar17)" ( (binary_expression "DAT_003f9c40 <= dVar17" identifier <= identifier) )) (compound_statement "{\n          page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }" { (expression_statement "page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "page.width = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000" (field_expression "page.width" identifier . field_identifier) = (binary_expression "(long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar17 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar17 - DAT_003f9c40)" ( (binary_expression "dVar17 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n          page.width = (size_t)dVar17;\n        }" else (compound_statement "{\n          page.width = (size_t)dVar17;\n        }" { (expression_statement "page.width = (size_t)dVar17;" (assignment_expression "page.width = (size_t)dVar17" (field_expression "page.width" identifier . field_identifier) = (cast_expression "(size_t)dVar17" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) }))) (expression_statement "dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28;" (assignment_expression "dVar17 = ((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28" identifier = (binary_expression "((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20 + DAT_003f9c28" (binary_expression "((double)page.height * (pIVar8->resolution).y) / DAT_003f9c20" (parenthesized_expression "((double)page.height * (pIVar8->resolution).y)" ( (binary_expression "(double)page.height * (pIVar8->resolution).y" (cast_expression "(double)page.height" ( (type_descriptor "double" primitive_type) ) (field_expression "page.height" identifier . field_identifier)) * (field_expression "(pIVar8->resolution).y" (parenthesized_expression "(pIVar8->resolution)" ( (field_expression "pIVar8->resolution" identifier -> field_identifier) )) . field_identifier)) )) / identifier) + identifier)) ;) (if_statement "if ((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }" if (parenthesized_expression "((double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar17 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar17 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar17 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar17 & DAT_003f9c70" (cast_expression "(ulong)dVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n          dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);\n        }" { (expression_statement "dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17);" (assignment_expression "dVar17 = (double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17)" identifier = (cast_expression "(double)((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17)" ( (binary_expression "(ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar17" (call_expression "(ulong)((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar17 -\n                                   (double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar17" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar17 < (double)(long)dVar17) &\n                                           (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar17 < (double)(long)dVar17)" - (call_expression "(ulong)(dVar17 < (double)(long)dVar17)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar17 < (double)(long)dVar17)" ( (binary_expression "dVar17 < (double)(long)dVar17" identifier < (cast_expression "(double)(long)dVar17" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar17" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar17" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar17) {\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          page.height = (size_t)dVar17;\n        }" if (parenthesized_expression "(DAT_003f9c40 <= dVar17)" ( (binary_expression "DAT_003f9c40 <= dVar17" identifier <= identifier) )) (compound_statement "{\n          page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;\n        }" { (expression_statement "page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "page.height = (long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000" (field_expression "page.height" identifier . field_identifier) = (binary_expression "(long)(dVar17 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar17 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar17 - DAT_003f9c40)" ( (binary_expression "dVar17 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n          page.height = (size_t)dVar17;\n        }" else (compound_statement "{\n          page.height = (size_t)dVar17;\n        }" { (expression_statement "page.height = (size_t)dVar17;" (assignment_expression "page.height = (size_t)dVar17" (field_expression "page.height" identifier . field_identifier) = (cast_expression "(size_t)dVar17" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) }))) (expression_statement "FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);" (call_expression "FormatLocaleString(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height)" identifier (argument_list "(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height)" ( identifier , number_literal , (string_literal ""-g%.20gx%.20g "" " string_content ") , (cast_expression "(double)page.width" ( (type_descriptor "double" primitive_type) ) (field_expression "page.width" identifier . field_identifier)) , (cast_expression "(double)page.height" ( (type_descriptor "double" primitive_type) ) (field_expression "page.height" identifier . field_identifier)) ))) ;) (expression_statement "DestroyImage(pIVar8);" (call_expression "DestroyImage(pIVar8)" identifier (argument_list "(pIVar8)" ( identifier ))) ;) (expression_statement "image_info_00 = CloneImageInfo(image_info);" (assignment_expression "image_info_00 = CloneImageInfo(image_info)" identifier = (call_expression "CloneImageInfo(image_info)" identifier (argument_list "(image_info)" ( identifier )))) ;) (expression_statement "image_info_00->magick[0] = '\0';" (assignment_expression "image_info_00->magick[0] = '\0'" (subscript_expression "image_info_00->magick[0]" (field_expression "image_info_00->magick" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sVar3 = image_info_00->number_scenes;" (assignment_expression "sVar3 = image_info_00->number_scenes" identifier = (field_expression "image_info_00->number_scenes" identifier -> field_identifier)) ;) (if_statement "if (sVar3 != 0) {\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }" if (parenthesized_expression "(sVar3 != 0)" ( (binary_expression "sVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }\n          image_info_00->number_scenes = 0;\n          if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }\n        }" { (if_statement "if (sVar3 == 1) {\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }\n          else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }" if (parenthesized_expression "(sVar3 == 1)" ( (binary_expression "sVar3 == 1" identifier == number_literal) )) (compound_statement "{\n            FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));\n          }" { (expression_statement "FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1));" (call_expression "FormatLocaleString(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1))" identifier (argument_list "(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",\n                               (double)image_info_00->scene + DAT_003f9608,\n                               (double)(image_info_00->scene + 1))" ( identifier , number_literal , (string_literal ""-dFirstPage=%.20g -dLastPage=%.20g"" " string_content ") , (binary_expression "(double)image_info_00->scene + DAT_003f9608" (cast_expression "(double)image_info_00->scene" ( (type_descriptor "double" primitive_type) ) (field_expression "image_info_00->scene" identifier -> field_identifier)) + identifier) , (cast_expression "(double)(image_info_00->scene + 1)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(image_info_00->scene + 1)" ( (binary_expression "image_info_00->scene + 1" (field_expression "image_info_00->scene" identifier -> field_identifier) + number_literal) ))) ))) ;) }) (else_clause "else {\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }" else (compound_statement "{\n            FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));\n          }" { (expression_statement "FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene));" (call_expression "FormatLocaleString(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene))" identifier (argument_list "(pcVar12,0x1000,"-dLastPage=%.20g",\n                               (double)(sVar3 + image_info_00->scene))" ( identifier , number_literal , (string_literal ""-dLastPage=%.20g"" " string_content ") , (cast_expression "(double)(sVar3 + image_info_00->scene)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(sVar3 + image_info_00->scene)" ( (binary_expression "sVar3 + image_info_00->scene" identifier + (field_expression "image_info_00->scene" identifier -> field_identifier)) ))) ))) ;) }))) (expression_statement "image_info_00->number_scenes = 0;" (assignment_expression "image_info_00->number_scenes = 0" (field_expression "image_info_00->number_scenes" identifier -> field_identifier) = number_literal) ;) (if_statement "if (image_info_00->scenes != (char *)0x0) {\n            *image_info_00->scenes = '\0';\n          }" if (parenthesized_expression "(image_info_00->scenes != (char *)0x0)" ( (binary_expression "image_info_00->scenes != (char *)0x0" (field_expression "image_info_00->scenes" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *image_info_00->scenes = '\0';\n          }" { (expression_statement "*image_info_00->scenes = '\0';" (assignment_expression "*image_info_00->scenes = '\0'" (pointer_expression "*image_info_00->scenes" * (field_expression "image_info_00->scenes" identifier -> field_identifier)) = (char_literal "'\0'" ' escape_sequence ')) ;) })) })) (expression_statement "source_00 = image_info_00->filename;" (assignment_expression "source_00 = image_info_00->filename" identifier = (field_expression "image_info_00->filename" identifier -> field_identifier)) ;) (expression_statement "CopyMagickString(filename,source_00,0x1000);" (call_expression "CopyMagickString(filename,source_00,0x1000)" identifier (argument_list "(filename,source_00,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "AcquireUniqueFilename(source_00);" (call_expression "AcquireUniqueFilename(source_00)" identifier (argument_list "(source_00)" ( identifier ))) ;) (expression_statement "uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4;" (assignment_expression "uVar15 = (-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4" identifier = (binary_expression "(-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd) + 4" (parenthesized_expression "(-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd)" ( (binary_expression "-(uint)(image_info_00->antialias == MagickFalse) & 0xfffffffd" (unary_expression "-(uint)(image_info_00->antialias == MagickFalse)" - (call_expression "(uint)(image_info_00->antialias == MagickFalse)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(image_info_00->antialias == MagickFalse)" ( (binary_expression "image_info_00->antialias == MagickFalse" (field_expression "image_info_00->antialias" identifier -> field_identifier) == identifier) )))) & number_literal) )) + number_literal)) ;) (expression_statement "format = GetDelegateCommands(delegate_info);" (assignment_expression "format = GetDelegateCommands(delegate_info)" identifier = (call_expression "GetDelegateCommands(delegate_info)" identifier (argument_list "(delegate_info)" ( identifier )))) ;) (expression_statement "FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename);" (call_expression "FormatLocaleString(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename)" identifier (argument_list "(command,0x1000,format,(ulong)uVar15,(ulong)uVar15,pcVar11,pcVar12,\n                           source_00,input_filename)" ( identifier , number_literal , identifier , (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "DestroyString(pcVar12);" (call_expression "DestroyString(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) (expression_statement "DestroyString(pcVar11);" (call_expression "DestroyString(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier ))) ;) (expression_statement "ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception);" (call_expression "ExternalDelegateCommand(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception)" identifier (argument_list "(MagickFalse,image_info_00->verbose,command,(char *)0x0,exception)" ( identifier , (field_expression "image_info_00->verbose" identifier -> field_identifier) , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier ))) ;) (expression_statement "pIVar8 = ReadImage(image_info_00,exception);" (assignment_expression "pIVar8 = ReadImage(image_info_00,exception)" identifier = (call_expression "ReadImage(image_info_00,exception)" identifier (argument_list "(image_info_00,exception)" ( identifier , identifier )))) ;) (expression_statement "RelinquishUniqueFileResource(source_00);" (call_expression "RelinquishUniqueFileResource(source_00)" identifier (argument_list "(source_00)" ( identifier ))) ;) (expression_statement "RelinquishUniqueFileResource(input_filename);" (call_expression "RelinquishUniqueFileResource(input_filename)" identifier (argument_list "(input_filename)" ( identifier ))) ;) (expression_statement "DestroyImageInfo(image_info_00);" (call_expression "DestroyImageInfo(image_info_00)" identifier (argument_list "(image_info_00)" ( identifier ))) ;) (if_statement "if (pIVar8 == (Image *)0x0) {\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }\n        else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }" if (parenthesized_expression "(pIVar8 == (Image *)0x0)" ( (binary_expression "pIVar8 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);\n          pIVar8 = (Image *)0x0;\n        }" { (expression_statement "ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source);" (call_expression "ThrowMagickException\n                    (exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source)" identifier (argument_list "(exception,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"\n                     ,"`%s\'",source)" ( identifier , (string_literal ""coders/pcl.c"" " string_content ") , (string_literal ""ReadPCLImage"" " string_content ") , number_literal , identifier , (string_literal ""PCLDelegateFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pIVar8 = (Image *)0x0;" (assignment_expression "pIVar8 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }" else (compound_statement "{\n          iVar6 = LocaleCompare(pIVar8->magick,"BMP");\n          if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }\n          do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);\n          pIVar8 = GetFirstImageInList(pIVar13);\n        }" { (expression_statement "iVar6 = LocaleCompare(pIVar8->magick,"BMP");" (assignment_expression "iVar6 = LocaleCompare(pIVar8->magick,"BMP")" identifier = (call_expression "LocaleCompare(pIVar8->magick,"BMP")" identifier (argument_list "(pIVar8->magick,"BMP")" ( (field_expression "pIVar8->magick" identifier -> field_identifier) , (string_literal ""BMP"" " string_content ") )))) ;) (if_statement "if ((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)) {\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }" if (parenthesized_expression "((iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0))" ( (binary_expression "(iVar6 == 0) &&\n             (pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0)" ( (comma_expression "pIVar13 = ConsolidateCMYKImages(pIVar8,exception), pIVar13 != (Image *)0x0" (assignment_expression "pIVar13 = ConsolidateCMYKImages(pIVar8,exception)" identifier = (call_expression "ConsolidateCMYKImages(pIVar8,exception)" identifier (argument_list "(pIVar8,exception)" ( identifier , identifier )))) , (binary_expression "pIVar13 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n            DestroyImageList(pIVar8);\n            pIVar8 = pIVar13;\n          }" { (expression_statement "DestroyImageList(pIVar8);" (call_expression "DestroyImageList(pIVar8)" identifier (argument_list "(pIVar8)" ( identifier ))) ;) (expression_statement "pIVar8 = pIVar13;" (assignment_expression "pIVar8 = pIVar13" identifier = identifier) ;) })) (do_statement "do {\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          } while (pIVar8 != (Image *)0x0);" do (compound_statement "{\n            pIVar13 = pIVar8;\n            CopyMagickString(pIVar13->filename,filename,0x1000);\n            (pIVar13->page).width = page.width;\n            (pIVar13->page).height = page.height;\n            (pIVar13->page).x = page.x;\n            (pIVar13->page).y = page.y;\n            pIVar8 = SyncNextImageInList(pIVar13);\n          }" { (expression_statement "pIVar13 = pIVar8;" (assignment_expression "pIVar13 = pIVar8" identifier = identifier) ;) (expression_statement "CopyMagickString(pIVar13->filename,filename,0x1000);" (call_expression "CopyMagickString(pIVar13->filename,filename,0x1000)" identifier (argument_list "(pIVar13->filename,filename,0x1000)" ( (field_expression "pIVar13->filename" identifier -> field_identifier) , identifier , number_literal ))) ;) (expression_statement "(pIVar13->page).width = page.width;" (assignment_expression "(pIVar13->page).width = page.width" (field_expression "(pIVar13->page).width" (parenthesized_expression "(pIVar13->page)" ( (field_expression "pIVar13->page" identifier -> field_identifier) )) . field_identifier) = (field_expression "page.width" identifier . field_identifier)) ;) (expression_statement "(pIVar13->page).height = page.height;" (assignment_expression "(pIVar13->page).height = page.height" (field_expression "(pIVar13->page).height" (parenthesized_expression "(pIVar13->page)" ( (field_expression "pIVar13->page" identifier -> field_identifier) )) . field_identifier) = (field_expression "page.height" identifier . field_identifier)) ;) (expression_statement "(pIVar13->page).x = page.x;" (assignment_expression "(pIVar13->page).x = page.x" (field_expression "(pIVar13->page).x" (parenthesized_expression "(pIVar13->page)" ( (field_expression "pIVar13->page" identifier -> field_identifier) )) . field_identifier) = (field_expression "page.x" identifier . field_identifier)) ;) (expression_statement "(pIVar13->page).y = page.y;" (assignment_expression "(pIVar13->page).y = page.y" (field_expression "(pIVar13->page).y" (parenthesized_expression "(pIVar13->page)" ( (field_expression "pIVar13->page" identifier -> field_identifier) )) . field_identifier) = (field_expression "page.y" identifier . field_identifier)) ;) (expression_statement "pIVar8 = SyncNextImageInList(pIVar13);" (assignment_expression "pIVar8 = SyncNextImageInList(pIVar13)" identifier = (call_expression "SyncNextImageInList(pIVar13)" identifier (argument_list "(pIVar13)" ( identifier )))) ;) }) while (parenthesized_expression "(pIVar8 != (Image *)0x0)" ( (binary_expression "pIVar8 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pIVar8 = GetFirstImageInList(pIVar13);" (assignment_expression "pIVar8 = GetFirstImageInList(pIVar13)" identifier = (call_expression "GetFirstImageInList(pIVar13)" identifier (argument_list "(pIVar13)" ( identifier )))) ;) }))) }))) }))) }))) (if_statement "if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(lVar2 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lVar2 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return pIVar8;" return identifier ;) })))
(translation_unit "undefined8 FUN_00387c48(long param_1,long param_2)\n\n{\n  long lVar1;\n  int iVar2;\n  int iVar3;\n  long lVar4;\n  ulong uVar5;\n  int *piVar6;\n  ulong uVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long in_FS_OFFSET;\n  bool bVar15;\n  double dVar16;\n  ulong local_4098;\n  ulong local_4090;\n  undefined8 local_4088;\n  undefined8 local_4080;\n  double local_4078;\n  double local_4070;\n  double local_4068;\n  double local_4060 [3];\n  char local_4048 [4096];\n  undefined1 local_3048 [4096];\n  undefined1 local_2048 [4096];\n  undefined1 local_1048 [4104];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }\n  lVar4 = AcquireImage(param_1,param_2);\n  iVar2 = OpenBlob(param_1,lVar4,2,param_2);\n  if (iVar2 == 0) {\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }\n  else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return uVar9;\n}\n\n" (function_definition "undefined8 FUN_00387c48(long param_1,long param_2)\n\n{\n  long lVar1;\n  int iVar2;\n  int iVar3;\n  long lVar4;\n  ulong uVar5;\n  int *piVar6;\n  ulong uVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long in_FS_OFFSET;\n  bool bVar15;\n  double dVar16;\n  ulong local_4098;\n  ulong local_4090;\n  undefined8 local_4088;\n  undefined8 local_4080;\n  double local_4078;\n  double local_4070;\n  double local_4068;\n  double local_4060 [3];\n  char local_4048 [4096];\n  undefined1 local_3048 [4096];\n  undefined1 local_2048 [4096];\n  undefined1 local_1048 [4104];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }\n  lVar4 = AcquireImage(param_1,param_2);\n  iVar2 = OpenBlob(param_1,lVar4,2,param_2);\n  if (iVar2 == 0) {\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }\n  else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return uVar9;\n}" type_identifier (function_declarator "FUN_00387c48(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  int iVar2;\n  int iVar3;\n  long lVar4;\n  ulong uVar5;\n  int *piVar6;\n  ulong uVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long in_FS_OFFSET;\n  bool bVar15;\n  double dVar16;\n  ulong local_4098;\n  ulong local_4090;\n  undefined8 local_4088;\n  undefined8 local_4080;\n  double local_4078;\n  double local_4070;\n  double local_4068;\n  double local_4060 [3];\n  char local_4048 [4096];\n  undefined1 local_3048 [4096];\n  undefined1 local_2048 [4096];\n  undefined1 local_1048 [4104];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }\n  lVar4 = AcquireImage(param_1,param_2);\n  iVar2 = OpenBlob(param_1,lVar4,2,param_2);\n  if (iVar2 == 0) {\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }\n  else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return uVar9;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "double dVar16;" primitive_type identifier ;) (declaration "ulong local_4098;" type_identifier identifier ;) (declaration "ulong local_4090;" type_identifier identifier ;) (declaration "undefined8 local_4088;" type_identifier identifier ;) (declaration "undefined8 local_4080;" type_identifier identifier ;) (declaration "double local_4078;" primitive_type identifier ;) (declaration "double local_4070;" primitive_type identifier ;) (declaration "double local_4068;" primitive_type identifier ;) (declaration "double local_4060 [3];" primitive_type (array_declarator "local_4060 [3]" identifier [ number_literal ]) ;) (declaration "char local_4048 [4096];" primitive_type (array_declarator "local_4048 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_3048 [4096];" type_identifier (array_declarator "local_3048 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_2048 [4096];" type_identifier (array_declarator "local_2048 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_1048 [4104];" type_identifier (array_declarator "local_1048 [4104]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }" { (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x3278) != 0xabacadab)" ( (binary_expression "*(long *)(param_1 + 0x3278) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3278)" * (cast_expression "(long *)(param_1 + 0x3278)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3278)" ( (binary_expression "param_1 + 0x3278" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }" { (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3270) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3270) != 0" (pointer_expression "*(int *)(param_1 + 0x3270)" * (cast_expression "(int *)(param_1 + 0x3270)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3270)" ( (binary_expression "param_1 + 0x3270" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }" { (expression_statement "LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);" (call_expression "LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270)" identifier (argument_list "(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270)" ( number_literal , (string_literal ""coders/pcl.c"" " string_content ") , (string_literal ""ReadPCLImage"" " string_content ") , number_literal , (pointer_expression "&DAT_0041fe36" & identifier) , (binary_expression "param_1 + 0x2270" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }" { (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }" if (parenthesized_expression "(*(long *)(param_2 + 0x30) != 0xabacadab)" ( (binary_expression "*(long *)(param_2 + 0x30) != 0xabacadab" (pointer_expression "*(long *)(param_2 + 0x30)" * (cast_expression "(long *)(param_2 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x30)" ( (binary_expression "param_2 + 0x30" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }" { (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcl.c"" " string_content ") , number_literal , (string_literal ""ReadPCLImage"" " string_content ") ))) ;) })) (expression_statement "lVar4 = AcquireImage(param_1,param_2);" (assignment_expression "lVar4 = AcquireImage(param_1,param_2)" identifier = (call_expression "AcquireImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "iVar2 = OpenBlob(param_1,lVar4,2,param_2);" (assignment_expression "iVar2 = OpenBlob(param_1,lVar4,2,param_2)" identifier = (call_expression "OpenBlob(param_1,lVar4,2,param_2)" identifier (argument_list "(param_1,lVar4,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }\n  else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }" { (expression_statement "DestroyImageList(lVar4);" (call_expression "DestroyImageList(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }" else (compound_statement "{\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }" { (expression_statement "lVar1 = param_1 + 0x2270;" (assignment_expression "lVar1 = param_1 + 0x2270" identifier = (binary_expression "param_1 + 0x2270" identifier + number_literal)) ;) (expression_statement "iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);" (assignment_expression "iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048)" identifier = (call_expression "AcquireUniqueSymbolicLink(lVar1,local_1048)" identifier (argument_list "(lVar1,local_1048)" ( identifier , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = GetExceptionMessage(*piVar6);" (assignment_expression "uVar9 = GetExceptionMessage(*piVar6)" identifier = (call_expression "GetExceptionMessage(*piVar6)" identifier (argument_list "(*piVar6)" ( (pointer_expression "*piVar6" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);" (call_expression "ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9)" identifier (argument_list "(param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9)" ( identifier , (string_literal ""coders/pcl.c"" " string_content ") , (string_literal ""ReadPCLImage"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToCreateTemporaryFile"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar9);" (call_expression "DestroyString(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "DestroyImageList(lVar4);" (call_expression "DestroyImageList(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }" else (compound_statement "{\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }" { (if_statement "if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }" if (parenthesized_expression "((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0))" ( (binary_expression "(*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)" (parenthesized_expression "(*(double *)(lVar4 + 0x248) == 0.0)" ( (binary_expression "*(double *)(lVar4 + 0x248) == 0.0" (pointer_expression "*(double *)(lVar4 + 0x248)" * (cast_expression "(double *)(lVar4 + 0x248)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x248)" ( (binary_expression "lVar4 + 0x248" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(double *)(lVar4 + 0x250) == 0.0)" ( (binary_expression "*(double *)(lVar4 + 0x250) == 0.0" (pointer_expression "*(double *)(lVar4 + 0x250)" * (cast_expression "(double *)(lVar4 + 0x250)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x250)" ( (binary_expression "lVar4 + 0x250" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }" { (expression_statement "uVar5 = ParseGeometry("72.0x72.0",&local_4078);" (assignment_expression "uVar5 = ParseGeometry("72.0x72.0",&local_4078)" identifier = (call_expression "ParseGeometry("72.0x72.0",&local_4078)" identifier (argument_list "("72.0x72.0",&local_4078)" ( (string_literal ""72.0x72.0"" " string_content ") , (pointer_expression "&local_4078" & identifier) )))) ;) (expression_statement "*(double *)(lVar4 + 0x248) = local_4078;" (assignment_expression "*(double *)(lVar4 + 0x248) = local_4078" (pointer_expression "*(double *)(lVar4 + 0x248)" * (cast_expression "(double *)(lVar4 + 0x248)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x248)" ( (binary_expression "lVar4 + 0x248" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }" if (parenthesized_expression "((uVar5 & 8) == 0)" ( (binary_expression "(uVar5 & 8) == 0" (parenthesized_expression "(uVar5 & 8)" ( (binary_expression "uVar5 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }" { (expression_statement "*(double *)(lVar4 + 0x250) = local_4078;" (assignment_expression "*(double *)(lVar4 + 0x250) = local_4078" (pointer_expression "*(double *)(lVar4 + 0x250)" * (cast_expression "(double *)(lVar4 + 0x250)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x250)" ( (binary_expression "lVar4 + 0x250" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }" else (compound_statement "{\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }" { (expression_statement "*(double *)(lVar4 + 0x250) = local_4070;" (assignment_expression "*(double *)(lVar4 + 0x250) = local_4070" (pointer_expression "*(double *)(lVar4 + 0x250)" * (cast_expression "(double *)(lVar4 + 0x250)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x250)" ( (binary_expression "lVar4 + 0x250" identifier + number_literal) )))) = identifier) ;) }))) })) (expression_statement "bVar15 = *(int *)(lVar4 + 4) == 2;" (assignment_expression "bVar15 = *(int *)(lVar4 + 4) == 2" identifier = (binary_expression "*(int *)(lVar4 + 4) == 2" (pointer_expression "*(int *)(lVar4 + 4)" * (cast_expression "(int *)(lVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 4)" ( (binary_expression "lVar4 + 4" identifier + number_literal) )))) == number_literal)) ;) (expression_statement "local_4078 = 0.0;" (assignment_expression "local_4078 = 0.0" identifier = number_literal) ;) (expression_statement "local_4070 = 0.0;" (assignment_expression "local_4070 = 0.0" identifier = number_literal) ;) (expression_statement "local_4068 = 0.0;" (assignment_expression "local_4068 = 0.0" identifier = number_literal) ;) (expression_statement "local_4060[0] = 0.0;" (assignment_expression "local_4060[0] = 0.0" (subscript_expression "local_4060[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_4098 = 0;" (assignment_expression "local_4098 = 0" identifier = number_literal) ;) (expression_statement "local_4090 = 0;" (assignment_expression "local_4090 = 0" identifier = number_literal) ;) (expression_statement "local_4088 = 0;" (assignment_expression "local_4088 = 0" identifier = number_literal) ;) (expression_statement "local_4080 = 0;" (assignment_expression "local_4080 = 0" identifier = number_literal) ;) (expression_statement "memset(local_4048,0,0x1000);" (call_expression "memset(local_4048,0,0x1000)" identifier (argument_list "(local_4048,0,0x1000)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "iVar2 = ReadBlobByte(lVar4);" (assignment_expression "iVar2 = ReadBlobByte(lVar4)" identifier = (call_expression "ReadBlobByte(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;) (if_statement "if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (compound_statement "{\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "pcVar14 = local_4048;" (assignment_expression "pcVar14 = local_4048" identifier = identifier) ;) (do_statement "do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);" do (compound_statement "{\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        }" { (expression_statement "pcVar13 = pcVar14;" (assignment_expression "pcVar13 = pcVar14" identifier = identifier) ;) (if_statement "if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }" if (parenthesized_expression "((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048)))))" ( (binary_expression "(*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))" (parenthesized_expression "(*(long *)(param_1 + 0x28) == 0)" ( (binary_expression "*(long *)(param_1 + 0x28) == 0" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))" ( (parenthesized_expression "((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048)))" ( (binary_expression "(*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))" (parenthesized_expression "(*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10))" ( (comma_expression "*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)" (assignment_expression "*pcVar14 = (char)iVar2" (pointer_expression "*pcVar14" * identifier) = (cast_expression "(char)iVar2" ( (type_descriptor "char" primitive_type) ) identifier)) , (binary_expression "iVar2 == 0x2f || (iVar2 == 10)" (binary_expression "iVar2 == 0x2f" identifier == number_literal) || (parenthesized_expression "(iVar2 == 10)" ( (binary_expression "iVar2 == 10" identifier == number_literal) )))) )) || (parenthesized_expression "(pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))" ( (comma_expression "pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048)" (assignment_expression "pcVar13 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) , (binary_expression "0xffe < (ulong)((long)pcVar13 - (long)local_4048)" number_literal < (call_expression "(ulong)((long)pcVar13 - (long)local_4048)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)pcVar13 - (long)local_4048)" ( (binary_expression "(long)pcVar13 - (long)local_4048" (cast_expression "(long)pcVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)local_4048" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))))) ))) )) ))) )) (compound_statement "{\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }" { (expression_statement "pcVar14[1] = '\0';" (assignment_expression "pcVar14[1] = '\0'" (subscript_expression "pcVar14[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);" (assignment_expression "iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10)" identifier = (call_expression "LocaleNCompare("DeviceCMYK",local_4048,10)" identifier (argument_list "("DeviceCMYK",local_4048,10)" ( (string_literal ""DeviceCMYK"" " string_content ") , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n              bVar15 = true;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              bVar15 = true;\n            }" { (expression_statement "bVar15 = true;" (assignment_expression "bVar15 = true" identifier = true) ;) })) (expression_statement "iVar2 = LocaleNCompare("CropBox",local_4048,7);" (assignment_expression "iVar2 = LocaleNCompare("CropBox",local_4048,7)" identifier = (call_expression "LocaleNCompare("CropBox",local_4048,7)" identifier (argument_list "("CropBox",local_4048,7)" ( (string_literal ""CropBox"" " string_content ") , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }" { (expression_statement "iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);" (assignment_expression "iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060)" identifier = (call_expression "sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060)" identifier (argument_list "(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060)" ( identifier , (string_literal ""CropBox [%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&local_4078" & identifier) , (pointer_expression "&local_4070" & identifier) , (pointer_expression "&local_4068" & identifier) , identifier )))) ;) (if_statement "if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }" if (parenthesized_expression "(iVar2 != 4)" ( (binary_expression "iVar2 != 4" identifier != number_literal) )) (compound_statement "{\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }" { (expression_statement "iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" (assignment_expression "iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier = (call_expression "sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier (argument_list "(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" ( identifier , (string_literal ""CropBox[%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&local_4078" & identifier) , (pointer_expression "&local_4070" & identifier) , (pointer_expression "&local_4068" & identifier) , identifier )))) ;) (goto_statement "goto LAB_00387fa1;" goto statement_identifier ;) })) (expression_statement "iVar2 = LocaleNCompare("MediaBox",local_4048,8);" (assignment_expression "iVar2 = LocaleNCompare("MediaBox",local_4048,8)" identifier = (call_expression "LocaleNCompare("MediaBox",local_4048,8)" identifier (argument_list "("MediaBox",local_4048,8)" ( (string_literal ""MediaBox"" " string_content ") , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) goto LAB_0038807b;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0038807b;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }" else (compound_statement "{\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }" { (labeled_statement "LAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);" statement_identifier : (expression_statement "iVar2 = LocaleNCompare("MediaBox",local_4048,8);" (assignment_expression "iVar2 = LocaleNCompare("MediaBox",local_4048,8)" identifier = (call_expression "LocaleNCompare("MediaBox",local_4048,8)" identifier (argument_list "("MediaBox",local_4048,8)" ( (string_literal ""MediaBox"" " string_content ") , identifier , number_literal )))) ;)) (if_statement "if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }" { (labeled_statement "LAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" statement_identifier : (expression_statement "iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" (assignment_expression "iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier = (call_expression "sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier (argument_list "(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" ( identifier , (string_literal ""MediaBox [%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&local_4078" & identifier) , (pointer_expression "&local_4070" & identifier) , (pointer_expression "&local_4068" & identifier) , identifier )))) ;)) (if_statement "if (iVar2 == 4) goto LAB_003880b0;" if (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) (goto_statement "goto LAB_003880b0;" goto statement_identifier ;)) (expression_statement "iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" (assignment_expression "iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier = (call_expression "sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" identifier (argument_list "(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" ( identifier , (string_literal ""MediaBox[%lf %lf %lf %lf"" " string_content ") , (pointer_expression "&local_4078" & identifier) , (pointer_expression "&local_4070" & identifier) , (pointer_expression "&local_4068" & identifier) , identifier )))) ;) })) (expression_statement "pcVar13 = local_4048;" (assignment_expression "pcVar13 = local_4048" identifier = identifier) ;) (if_statement "if (iVar3 != 4) goto LAB_00387fd6;" if (parenthesized_expression "(iVar3 != 4)" ( (binary_expression "iVar3 != 4" identifier != number_literal) )) (goto_statement "goto LAB_00387fd6;" goto statement_identifier ;)) }))) (labeled_statement "LAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;" statement_identifier : (expression_statement "dVar16 = (local_4068 - local_4078) + DAT_003f9c28;" (assignment_expression "dVar16 = (local_4068 - local_4078) + DAT_003f9c28" identifier = (binary_expression "(local_4068 - local_4078) + DAT_003f9c28" (parenthesized_expression "(local_4068 - local_4078)" ( (binary_expression "local_4068 - local_4078" identifier - identifier) )) + identifier)) ;)) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" if (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" { (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" identifier = (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" ( (binary_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" - (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar16 < (double)(long)dVar16)" ( (binary_expression "dVar16 < (double)(long)dVar16" identifier < (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }" if (parenthesized_expression "(DAT_003f9c40 <= dVar16)" ( (binary_expression "DAT_003f9c40 <= dVar16" identifier <= identifier) )) (compound_statement "{\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }" { (expression_statement "uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" identifier = (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar16 - DAT_003f9c40)" ( (binary_expression "dVar16 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n              uVar5 = (ulong)dVar16;\n            }" else (compound_statement "{\n              uVar5 = (ulong)dVar16;\n            }" { (expression_statement "uVar5 = (ulong)dVar16;" (assignment_expression "uVar5 = (ulong)dVar16" identifier = (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (expression_statement "dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;" (assignment_expression "dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28" identifier = (binary_expression "(local_4060[0] - local_4070) + DAT_003f9c28" (parenthesized_expression "(local_4060[0] - local_4070)" ( (binary_expression "local_4060[0] - local_4070" (subscript_expression "local_4060[0]" identifier [ number_literal ]) - identifier) )) + identifier)) ;) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" if (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" { (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" identifier = (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" ( (binary_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" - (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar16 < (double)(long)dVar16)" ( (binary_expression "dVar16 < (double)(long)dVar16" identifier < (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }" if (parenthesized_expression "(DAT_003f9c40 <= dVar16)" ( (binary_expression "DAT_003f9c40 <= dVar16" identifier <= identifier) )) (compound_statement "{\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }" { (expression_statement "uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" identifier = (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar16 - DAT_003f9c40)" ( (binary_expression "dVar16 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n              uVar7 = (ulong)dVar16;\n            }" else (compound_statement "{\n              uVar7 = (ulong)dVar16;\n            }" { (expression_statement "uVar7 = (ulong)dVar16;" (assignment_expression "uVar7 = (ulong)dVar16" identifier = (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (if_statement "if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }" if (parenthesized_expression "(local_4098 < uVar5)" ( (binary_expression "local_4098 < uVar5" identifier < identifier) )) (compound_statement "{\n              local_4098 = uVar5;\n            }" { (expression_statement "local_4098 = uVar5;" (assignment_expression "local_4098 = uVar5" identifier = identifier) ;) })) (if_statement "if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }" if (parenthesized_expression "(local_4090 < uVar7)" ( (binary_expression "local_4090 < uVar7" identifier < identifier) )) (compound_statement "{\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }" { (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "pcVar13 = local_4048;" (assignment_expression "pcVar13 = local_4048" identifier = identifier) ;) (expression_statement "local_4090 = uVar7;" (assignment_expression "local_4090 = uVar7" identifier = identifier) ;) }) (else_clause "else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }" else (compound_statement "{\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }" { (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "pcVar13 = local_4048;" (assignment_expression "pcVar13 = local_4048" identifier = identifier) ;) }))) })) (labeled_statement "LAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);" statement_identifier : (expression_statement "iVar2 = ReadBlobByte(lVar4);" (assignment_expression "iVar2 = ReadBlobByte(lVar4)" identifier = (call_expression "ReadBlobByte(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;)) (expression_statement "pcVar14 = pcVar13;" (assignment_expression "pcVar14 = pcVar13" identifier = identifier) ;) }) while (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) ;) })) (expression_statement "CloseBlob(lVar4);" (call_expression "CloseBlob(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (if_statement "if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }" if (parenthesized_expression "((local_4098 == 0) || (local_4090 == 0))" ( (binary_expression "(local_4098 == 0) || (local_4090 == 0)" (parenthesized_expression "(local_4098 == 0)" ( (binary_expression "local_4098 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_4090 == 0)" ( (binary_expression "local_4090 == 0" identifier == number_literal) ))) )) (compound_statement "{\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }" { (expression_statement "ParseAbsoluteGeometry("612x792",&local_4098);" (call_expression "ParseAbsoluteGeometry("612x792",&local_4098)" identifier (argument_list "("612x792",&local_4098)" ( (string_literal ""612x792"" " string_content ") , (pointer_expression "&local_4098" & identifier) ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }" if (parenthesized_expression "(*(long *)(param_1 + 0x28) != 0)" ( (binary_expression "*(long *)(param_1 + 0x28) != 0" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }" { (expression_statement "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);" (call_expression "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098)" identifier (argument_list "(*(long *)(param_1 + 0x28),&local_4098)" ( (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "&local_4098" & identifier) ))) ;) })) (expression_statement "FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");" (call_expression "FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g")" identifier (argument_list "((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g")" ( (cast_expression "(double)local_4098" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_4090" ( (type_descriptor "double" primitive_type) ) identifier) , identifier , number_literal , (string_literal ""%.20gx%.20g"" " string_content ") ))) ;) (if_statement "if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x204) == 0)" ( (binary_expression "*(int *)(param_1 + 0x204) == 0" (pointer_expression "*(int *)(param_1 + 0x204)" * (cast_expression "(int *)(param_1 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x204)" ( (binary_expression "param_1 + 0x204" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }" { (if_statement "if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }" { (expression_statement "lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);" (assignment_expression "lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2)" identifier = (call_expression "GetDelegateInfo("pcl:cmyk",0,param_2)" identifier (argument_list "("pcl:cmyk",0,param_2)" ( (string_literal ""pcl:cmyk"" " string_content ") , number_literal , identifier )))) ;) }) (else_clause "else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }" else (compound_statement "{\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }" { (expression_statement "lVar8 = GetDelegateInfo("pcl:color",0,param_2);" (assignment_expression "lVar8 = GetDelegateInfo("pcl:color",0,param_2)" identifier = (call_expression "GetDelegateInfo("pcl:color",0,param_2)" identifier (argument_list "("pcl:color",0,param_2)" ( (string_literal ""pcl:color"" " string_content ") , number_literal , identifier )))) ;) }))) }) (else_clause "else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }" else (compound_statement "{\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }" { (expression_statement "lVar8 = GetDelegateInfo("pcl:mono",0,param_2);" (assignment_expression "lVar8 = GetDelegateInfo("pcl:mono",0,param_2)" identifier = (call_expression "GetDelegateInfo("pcl:mono",0,param_2)" identifier (argument_list "("pcl:mono",0,param_2)" ( (string_literal ""pcl:mono"" " string_content ") , number_literal , identifier )))) ;) }))) (if_statement "if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }" { (expression_statement "DestroyImage(lVar4);" (call_expression "DestroyImage(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }" else (compound_statement "{\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }" { (if_statement "if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }" if (parenthesized_expression "((local_4098 == 0) || (local_4090 == 0))" ( (binary_expression "(local_4098 == 0) || (local_4090 == 0)" (parenthesized_expression "(local_4098 == 0)" ( (binary_expression "local_4098 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_4090 == 0)" ( (binary_expression "local_4090 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }" { (expression_statement "ParseAbsoluteGeometry("612x792",&local_4098);" (call_expression "ParseAbsoluteGeometry("612x792",&local_4098)" identifier (argument_list "("612x792",&local_4098)" ( (string_literal ""612x792"" " string_content ") , (pointer_expression "&local_4098" & identifier) ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }" if (parenthesized_expression "(*(long *)(param_1 + 0x28) != 0)" ( (binary_expression "*(long *)(param_1 + 0x28) != 0" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }" { (expression_statement "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);" (call_expression "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098)" identifier (argument_list "(*(long *)(param_1 + 0x28),&local_4098)" ( (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , (pointer_expression "&local_4098" & identifier) ))) ;) })) (expression_statement "uVar9 = AcquireString(&DAT_00473ecb);" (assignment_expression "uVar9 = AcquireString(&DAT_00473ecb)" identifier = (call_expression "AcquireString(&DAT_00473ecb)" identifier (argument_list "(&DAT_00473ecb)" ( (pointer_expression "&DAT_00473ecb" & identifier) )))) ;) (expression_statement "uVar10 = AcquireString(&DAT_00473ecb);" (assignment_expression "uVar10 = AcquireString(&DAT_00473ecb)" identifier = (call_expression "AcquireString(&DAT_00473ecb)" identifier (argument_list "(&DAT_00473ecb)" ( (pointer_expression "&DAT_00473ecb" & identifier) )))) ;) (expression_statement "FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");" (call_expression "FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g")" identifier (argument_list "(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g")" ( (pointer_expression "*(undefined8 *)(lVar4 + 0x248)" * (cast_expression "(undefined8 *)(lVar4 + 0x248)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x248)" ( (binary_expression "lVar4 + 0x248" identifier + number_literal) )))) , (pointer_expression "*(undefined8 *)(lVar4 + 0x250)" * (cast_expression "(undefined8 *)(lVar4 + 0x250)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x250)" ( (binary_expression "lVar4 + 0x250" identifier + number_literal) )))) , identifier , number_literal , (string_literal ""%gx%g"" " string_content ") ))) ;) (expression_statement "dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;" (assignment_expression "dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28" identifier = (binary_expression "((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28" (binary_expression "((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20" (parenthesized_expression "((double)local_4098 * *(double *)(lVar4 + 0x248))" ( (binary_expression "(double)local_4098 * *(double *)(lVar4 + 0x248)" (cast_expression "(double)local_4098" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(lVar4 + 0x248)" * (cast_expression "(double *)(lVar4 + 0x248)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x248)" ( (binary_expression "lVar4 + 0x248" identifier + number_literal) ))))) )) / identifier) + identifier)) ;) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" if (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" { (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" identifier = (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" ( (binary_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" - (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar16 < (double)(long)dVar16)" ( (binary_expression "dVar16 < (double)(long)dVar16" identifier < (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }" if (parenthesized_expression "(DAT_003f9c40 <= dVar16)" ( (binary_expression "DAT_003f9c40 <= dVar16" identifier <= identifier) )) (compound_statement "{\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }" { (expression_statement "local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" identifier = (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar16 - DAT_003f9c40)" ( (binary_expression "dVar16 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n          local_4098 = (ulong)dVar16;\n        }" else (compound_statement "{\n          local_4098 = (ulong)dVar16;\n        }" { (expression_statement "local_4098 = (ulong)dVar16;" (assignment_expression "local_4098 = (ulong)dVar16" identifier = (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (expression_statement "dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;" (assignment_expression "dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28" identifier = (binary_expression "((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28" (binary_expression "((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20" (parenthesized_expression "((double)local_4090 * *(double *)(lVar4 + 0x250))" ( (binary_expression "(double)local_4090 * *(double *)(lVar4 + 0x250)" (cast_expression "(double)local_4090" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(lVar4 + 0x250)" * (cast_expression "(double *)(lVar4 + 0x250)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x250)" ( (binary_expression "lVar4 + 0x250" identifier + number_literal) ))))) )) / identifier) + identifier)) ;) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" if (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" ( (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" ( (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier) & identifier) ))) < identifier) )) (compound_statement "{\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" { (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" identifier = (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" ( (binary_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" ( (binary_expression "(double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) - (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" ( (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" - (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(dVar16 < (double)(long)dVar16)" ( (binary_expression "dVar16 < (double)(long)dVar16" identifier < (cast_expression "(double)(long)dVar16" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)dVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) )))) & (cast_expression "(ulong)DAT_003f9608" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ))) | (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" ~ identifier) & (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier))) )))) ;) })) (if_statement "if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }" if (parenthesized_expression "(DAT_003f9c40 <= dVar16)" ( (binary_expression "DAT_003f9c40 <= dVar16" identifier <= identifier) )) (compound_statement "{\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }" { (expression_statement "local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" identifier = (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(dVar16 - DAT_003f9c40)" ( (binary_expression "dVar16 - DAT_003f9c40" identifier - identifier) ))) ^ number_literal)) ;) }) (else_clause "else {\n          local_4090 = (ulong)dVar16;\n        }" else (compound_statement "{\n          local_4090 = (ulong)dVar16;\n        }" { (expression_statement "local_4090 = (ulong)dVar16;" (assignment_expression "local_4090 = (ulong)dVar16" identifier = (cast_expression "(ulong)dVar16" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }))) (expression_statement "FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");" (call_expression "FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ")" identifier (argument_list "((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ")" ( (cast_expression "(double)local_4098" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_4090" ( (type_descriptor "double" primitive_type) ) identifier) , identifier , number_literal , (string_literal ""-g%.20gx%.20g "" " string_content ") ))) ;) (expression_statement "DestroyImage(lVar4);" (call_expression "DestroyImage(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "lVar11 = CloneImageInfo(param_1);" (assignment_expression "lVar11 = CloneImageInfo(param_1)" identifier = (call_expression "CloneImageInfo(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*(undefined1 *)(lVar11 + 0x270) = 0;" (assignment_expression "*(undefined1 *)(lVar11 + 0x270) = 0" (pointer_expression "*(undefined1 *)(lVar11 + 0x270)" * (cast_expression "(undefined1 *)(lVar11 + 0x270)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x270)" ( (binary_expression "lVar11 + 0x270" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lVar4 = *(long *)(lVar11 + 0x40);" (assignment_expression "lVar4 = *(long *)(lVar11 + 0x40)" identifier = (pointer_expression "*(long *)(lVar11 + 0x40)" * (cast_expression "(long *)(lVar11 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x40)" ( (binary_expression "lVar11 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }" if (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }" { (if_statement "if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }" if (parenthesized_expression "(lVar4 == 1)" ( (binary_expression "lVar4 == 1" identifier == number_literal) )) (compound_statement "{\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }" { (expression_statement "FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");" (call_expression "FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g")" identifier (argument_list "((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g")" ( (binary_expression "(double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608" (cast_expression "(double)*(ulong *)(lVar11 + 0x38)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(ulong *)(lVar11 + 0x38)" * (cast_expression "(ulong *)(lVar11 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x38)" ( (binary_expression "lVar11 + 0x38" identifier + number_literal) ))))) + identifier) , (cast_expression "(double)(*(ulong *)(lVar11 + 0x38) + 1)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(*(ulong *)(lVar11 + 0x38) + 1)" ( (binary_expression "*(ulong *)(lVar11 + 0x38) + 1" (pointer_expression "*(ulong *)(lVar11 + 0x38)" * (cast_expression "(ulong *)(lVar11 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x38)" ( (binary_expression "lVar11 + 0x38" identifier + number_literal) )))) + number_literal) ))) , identifier , number_literal , (string_literal ""-dFirstPage=%.20g -dLastPage=%.20g"" " string_content ") ))) ;) }) (else_clause "else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }" else (compound_statement "{\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }" { (expression_statement "FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");" (call_expression "FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g")" identifier (argument_list "((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g")" ( (cast_expression "(double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38))" ( (type_descriptor "double" primitive_type) ) (call_expression "(ulong)(lVar4 + *(long *)(lVar11 + 0x38))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(lVar4 + *(long *)(lVar11 + 0x38))" ( (binary_expression "lVar4 + *(long *)(lVar11 + 0x38)" identifier + (pointer_expression "*(long *)(lVar11 + 0x38)" * (cast_expression "(long *)(lVar11 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x38)" ( (binary_expression "lVar11 + 0x38" identifier + number_literal) ))))) )))) , identifier , number_literal , (string_literal ""-dLastPage=%.20g"" " string_content ") ))) ;) }))) (expression_statement "*(undefined8 *)(lVar11 + 0x40) = 0;" (assignment_expression "*(undefined8 *)(lVar11 + 0x40) = 0" (pointer_expression "*(undefined8 *)(lVar11 + 0x40)" * (cast_expression "(undefined8 *)(lVar11 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x40)" ( (binary_expression "lVar11 + 0x40" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }" if (parenthesized_expression "(*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0)" ( (binary_expression "*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0" (pointer_expression "*(undefined1 **)(lVar11 + 0x30)" * (cast_expression "(undefined1 **)(lVar11 + 0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar11 + 0x30)" ( (binary_expression "lVar11 + 0x30" identifier + number_literal) )))) != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }" { (expression_statement "**(undefined1 **)(lVar11 + 0x30) = 0;" (assignment_expression "**(undefined1 **)(lVar11 + 0x30) = 0" (pointer_expression "**(undefined1 **)(lVar11 + 0x30)" * (pointer_expression "*(undefined1 **)(lVar11 + 0x30)" * (cast_expression "(undefined1 **)(lVar11 + 0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar11 + 0x30)" ( (binary_expression "lVar11 + 0x30" identifier + number_literal) ))))) = number_literal) ;) })) })) (expression_statement "lVar4 = lVar11 + 0x2270;" (assignment_expression "lVar4 = lVar11 + 0x2270" identifier = (binary_expression "lVar11 + 0x2270" identifier + number_literal)) ;) (expression_statement "CopyMagickString(local_3048,lVar4,0x1000);" (call_expression "CopyMagickString(local_3048,lVar4,0x1000)" identifier (argument_list "(local_3048,lVar4,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "AcquireUniqueFilename(lVar4);" (call_expression "AcquireUniqueFilename(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;" (assignment_expression "iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4" identifier = (binary_expression "(-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4" (parenthesized_expression "(-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd)" ( (binary_expression "-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd" (unary_expression "-(uint)(*(int *)(lVar11 + 0x14) == 0)" - (call_expression "(uint)(*(int *)(lVar11 + 0x14) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(lVar11 + 0x14) == 0)" ( (binary_expression "*(int *)(lVar11 + 0x14) == 0" (pointer_expression "*(int *)(lVar11 + 0x14)" * (cast_expression "(int *)(lVar11 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x14)" ( (binary_expression "lVar11 + 0x14" identifier + number_literal) )))) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "uVar12 = GetDelegateCommands(lVar8);" (assignment_expression "uVar12 = GetDelegateCommands(lVar8)" identifier = (call_expression "GetDelegateCommands(lVar8)" identifier (argument_list "(lVar8)" ( identifier )))) ;) (expression_statement "FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);" (call_expression "FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048)" identifier (argument_list "(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048)" ( identifier , number_literal , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar10);" (call_expression "DestroyString(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "DestroyString(uVar9);" (call_expression "DestroyString(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);" (call_expression "ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2)" identifier (argument_list "(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2)" ( number_literal , (pointer_expression "*(undefined4 *)(lVar11 + 0x218)" * (cast_expression "(undefined4 *)(lVar11 + 0x218)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar11 + 0x218)" ( (binary_expression "lVar11 + 0x218" identifier + number_literal) )))) , identifier , number_literal , identifier ))) ;) (expression_statement "lVar8 = ReadImage(lVar11,param_2);" (assignment_expression "lVar8 = ReadImage(lVar11,param_2)" identifier = (call_expression "ReadImage(lVar11,param_2)" identifier (argument_list "(lVar11,param_2)" ( identifier , identifier )))) ;) (expression_statement "RelinquishUniqueFileResource(lVar4);" (call_expression "RelinquishUniqueFileResource(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (expression_statement "RelinquishUniqueFileResource(local_1048);" (call_expression "RelinquishUniqueFileResource(local_1048)" identifier (argument_list "(local_1048)" ( identifier ))) ;) (expression_statement "DestroyImageInfo(lVar11);" (call_expression "DestroyImageInfo(lVar11)" identifier (argument_list "(lVar11)" ( identifier ))) ;) (if_statement "if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }" if (parenthesized_expression "(lVar8 == 0)" ( (binary_expression "lVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }" { (expression_statement "ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);" (call_expression "ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1)" identifier (argument_list "(param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1)" ( identifier , (string_literal ""coders/pcl.c"" " string_content ") , (string_literal ""ReadPCLImage"" " string_content ") , number_literal , number_literal , (string_literal ""PCLDelegateFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }" else (compound_statement "{\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }" { (expression_statement "iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);" (assignment_expression "iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6)" identifier = (call_expression "LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6)" identifier (argument_list "(lVar8 + 0x23f8,&DAT_00432dc6)" ( (binary_expression "lVar8 + 0x23f8" identifier + number_literal) , (pointer_expression "&DAT_00432dc6" & identifier) )))) ;) (if_statement "if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }" if (parenthesized_expression "((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0))" ( (binary_expression "(iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)" (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) && (parenthesized_expression "(lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)" ( (comma_expression "lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0" (assignment_expression "lVar4 = ConsolidateCMYKImages(lVar8,param_2)" identifier = (call_expression "ConsolidateCMYKImages(lVar8,param_2)" identifier (argument_list "(lVar8,param_2)" ( identifier , identifier )))) , (binary_expression "lVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }" { (expression_statement "DestroyImageList(lVar8);" (call_expression "DestroyImageList(lVar8)" identifier (argument_list "(lVar8)" ( identifier ))) ;) (expression_statement "lVar8 = lVar4;" (assignment_expression "lVar8 = lVar4" identifier = identifier) ;) })) (do_statement "do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);" do (compound_statement "{\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          }" { (expression_statement "lVar4 = lVar8;" (assignment_expression "lVar4 = lVar8" identifier = identifier) ;) (expression_statement "CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);" (call_expression "CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000)" identifier (argument_list "(lVar4 + 0x3f8,local_3048,0x1000)" ( (binary_expression "lVar4 + 0x3f8" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "*(ulong *)(lVar4 + 600) = local_4098;" (assignment_expression "*(ulong *)(lVar4 + 600) = local_4098" (pointer_expression "*(ulong *)(lVar4 + 600)" * (cast_expression "(ulong *)(lVar4 + 600)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 600)" ( (binary_expression "lVar4 + 600" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ulong *)(lVar4 + 0x260) = local_4090;" (assignment_expression "*(ulong *)(lVar4 + 0x260) = local_4090" (pointer_expression "*(ulong *)(lVar4 + 0x260)" * (cast_expression "(ulong *)(lVar4 + 0x260)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x260)" ( (binary_expression "lVar4 + 0x260" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar4 + 0x268) = local_4088;" (assignment_expression "*(undefined8 *)(lVar4 + 0x268) = local_4088" (pointer_expression "*(undefined8 *)(lVar4 + 0x268)" * (cast_expression "(undefined8 *)(lVar4 + 0x268)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x268)" ( (binary_expression "lVar4 + 0x268" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar4 + 0x270) = local_4080;" (assignment_expression "*(undefined8 *)(lVar4 + 0x270) = local_4080" (pointer_expression "*(undefined8 *)(lVar4 + 0x270)" * (cast_expression "(undefined8 *)(lVar4 + 0x270)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x270)" ( (binary_expression "lVar4 + 0x270" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar8 = SyncNextImageInList(lVar4);" (assignment_expression "lVar8 = SyncNextImageInList(lVar4)" identifier = (call_expression "SyncNextImageInList(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;) }) while (parenthesized_expression "(lVar8 != 0)" ( (binary_expression "lVar8 != 0" identifier != number_literal) )) ;) (expression_statement "uVar9 = GetFirstImageInList(lVar4);" (assignment_expression "uVar9 = GetFirstImageInList(lVar4)" identifier = (call_expression "GetFirstImageInList(lVar4)" identifier (argument_list "(lVar4)" ( identifier )))) ;) }))) }))) }))) }))) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" { (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return uVar9;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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 )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " escape_sequence string_content escape_sequence string_content ") , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (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 IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (binary_expression IDENT == LIT) )))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , 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 ( IDENT , (string_literal " string_content ") , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & IDENT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) )))) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ))) | (binary_expression (unary_expression ~ IDENT) & (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) ^ LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT) )) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & IDENT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) )))) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ))) | (binary_expression (unary_expression ~ IDENT) & (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) ^ LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression & IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT , 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 { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , IDENT )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression & IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) / IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & IDENT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) )))) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ))) | (binary_expression (unary_expression ~ IDENT) & (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) ^ LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) / IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & IDENT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) )))) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ))) | (binary_expression (unary_expression ~ IDENT) & (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) ^ LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT , LIT , (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + IDENT) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) , IDENT , LIT , (string_literal " string_content ") ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) , IDENT , LIT , (string_literal " string_content ") ))) ;) }))) (expression_statement (assignment_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = LIT) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT , IDENT , IDENT , 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 ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) )))) ;) (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 , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }))) }))) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return IDENT ;) })))
(function_definition "undefined8 FUN_00387c48(long param_1,long param_2)\n\n{\n  long lVar1;\n  int iVar2;\n  int iVar3;\n  long lVar4;\n  ulong uVar5;\n  int *piVar6;\n  ulong uVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long in_FS_OFFSET;\n  bool bVar15;\n  double dVar16;\n  ulong local_4098;\n  ulong local_4090;\n  undefined8 local_4088;\n  undefined8 local_4080;\n  double local_4078;\n  double local_4070;\n  double local_4068;\n  double local_4060 [3];\n  char local_4048 [4096];\n  undefined1 local_3048 [4096];\n  undefined1 local_2048 [4096];\n  undefined1 local_1048 [4104];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }\n  lVar4 = AcquireImage(param_1,param_2);\n  iVar2 = OpenBlob(param_1,lVar4,2,param_2);\n  if (iVar2 == 0) {\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }\n  else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return uVar9;\n}" (type_identifier "undefined8") (function_declarator "FUN_00387c48(long param_1,long param_2)" (identifier "FUN_00387c48") (parameter_list "(long param_1,long param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) () ")"))) (compound_statement "{\n  long lVar1;\n  int iVar2;\n  int iVar3;\n  long lVar4;\n  ulong uVar5;\n  int *piVar6;\n  ulong uVar7;\n  long lVar8;\n  undefined8 uVar9;\n  undefined8 uVar10;\n  long lVar11;\n  undefined8 uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  long in_FS_OFFSET;\n  bool bVar15;\n  double dVar16;\n  ulong local_4098;\n  ulong local_4090;\n  undefined8 local_4088;\n  undefined8 local_4080;\n  double local_4078;\n  double local_4070;\n  double local_4068;\n  double local_4060 [3];\n  char local_4048 [4096];\n  undefined1 local_3048 [4096];\n  undefined1 local_2048 [4096];\n  undefined1 local_1048 [4104];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }\n  lVar4 = AcquireImage(param_1,param_2);\n  iVar2 = OpenBlob(param_1,lVar4,2,param_2);\n  if (iVar2 == 0) {\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }\n  else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return uVar9;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "ulong uVar5;" (type_identifier "ulong") (identifier "uVar5") (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "ulong uVar7;" (type_identifier "ulong") (identifier "uVar7") (; ";")) (declaration "long lVar8;" (sized_type_specifier "long" (long "long")) (identifier "lVar8") (; ";")) (declaration "undefined8 uVar9;" (type_identifier "undefined8") (identifier "uVar9") (; ";")) (declaration "undefined8 uVar10;" (type_identifier "undefined8") (identifier "uVar10") (; ";")) (declaration "long lVar11;" (sized_type_specifier "long" (long "long")) (identifier "lVar11") (; ";")) (declaration "undefined8 uVar12;" (type_identifier "undefined8") (identifier "uVar12") (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "char *pcVar14;" (primitive_type "char") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "bool bVar15;" (primitive_type "bool") (identifier "bVar15") (; ";")) (declaration "double dVar16;" (primitive_type "double") (identifier "dVar16") (; ";")) (declaration "ulong local_4098;" (type_identifier "ulong") (identifier "local_4098") (; ";")) (declaration "ulong local_4090;" (type_identifier "ulong") (identifier "local_4090") (; ";")) (declaration "undefined8 local_4088;" (type_identifier "undefined8") (identifier "local_4088") (; ";")) (declaration "undefined8 local_4080;" (type_identifier "undefined8") (identifier "local_4080") (; ";")) (declaration "double local_4078;" (primitive_type "double") (identifier "local_4078") (; ";")) (declaration "double local_4070;" (primitive_type "double") (identifier "local_4070") (; ";")) (declaration "double local_4068;" (primitive_type "double") (identifier "local_4068") (; ";")) (declaration "double local_4060 [3];" (primitive_type "double") (array_declarator "local_4060 [3]" (identifier "local_4060") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "char local_4048 [4096];" (primitive_type "char") (array_declarator "local_4048 [4096]" (identifier "local_4048") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 local_3048 [4096];" (type_identifier "undefined1") (array_declarator "local_3048 [4096]" (identifier "local_3048") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 local_2048 [4096];" (type_identifier "undefined1") (array_declarator "local_2048 [4096]" (identifier "local_2048") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 local_1048 [4104];" (type_identifier "undefined1") (array_declarator "local_1048 [4104]" (identifier "local_1048") ([ "[") (number_literal "4104") (] "]")) (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage")" (identifier "__assert_fail") (argument_list "("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage")" (( "(") (string_literal ""image_info != (const ImageInfo *) NULL"" (" """) (string_content "image_info != (const ImageInfo *) NULL") (" """)) (, ",") (string_literal ""coders/pcl.c"" (" """) (string_content "coders/pcl.c") (" """)) (, ",") (number_literal "0xc6") (, ",") (string_literal ""ReadPCLImage"" (" """) (string_content "ReadPCLImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x3278) != 0xabacadab)" (( "(") (binary_expression "*(long *)(param_1 + 0x3278) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3278)" (* "*") (cast_expression "(long *)(param_1 + 0x3278)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3278)" (( "(") (binary_expression "param_1 + 0x3278" (identifier "param_1") (+ "+") (number_literal "0x3278")) () ")")))) (!= "!=") (number_literal "0xabacadab")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage")" (identifier "__assert_fail") (argument_list "("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage")" (( "(") (string_literal ""image_info->signature == MagickCoreSignature"" (" """) (string_content "image_info->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/pcl.c"" (" """) (string_content "coders/pcl.c") (" """)) (, ",") (number_literal "199") (, ",") (string_literal ""ReadPCLImage"" (" """) (string_content "ReadPCLImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3270) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3270) != 0" (pointer_expression "*(int *)(param_1 + 0x3270)" (* "*") (cast_expression "(int *)(param_1 + 0x3270)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3270)" (( "(") (binary_expression "param_1 + 0x3270" (identifier "param_1") (+ "+") (number_literal "0x3270")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);\n  }" ({ "{") (expression_statement "LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);" (call_expression "LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270)" (identifier "LogMagickEvent") (argument_list "(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270)" (( "(") (number_literal "0x8000") (, ",") (string_literal ""coders/pcl.c"" (" """) (string_content "coders/pcl.c") (" """)) (, ",") (string_literal ""ReadPCLImage"" (" """) (string_content "ReadPCLImage") (" """)) (, ",") (number_literal "0xc9") (, ",") (pointer_expression "&DAT_0041fe36" (& "&") (identifier "DAT_0041fe36")) (, ",") (binary_expression "param_1 + 0x2270" (identifier "param_1") (+ "+") (number_literal "0x2270")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage")" (identifier "__assert_fail") (argument_list "("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage")" (( "(") (string_literal ""exception != (ExceptionInfo *) NULL"" (" """) (string_content "exception != (ExceptionInfo *) NULL") (" """)) (, ",") (string_literal ""coders/pcl.c"" (" """) (string_content "coders/pcl.c") (" """)) (, ",") (number_literal "0xcb") (, ",") (string_literal ""ReadPCLImage"" (" """) (string_content "ReadPCLImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }" (if "if") (parenthesized_expression "(*(long *)(param_2 + 0x30) != 0xabacadab)" (( "(") (binary_expression "*(long *)(param_2 + 0x30) != 0xabacadab" (pointer_expression "*(long *)(param_2 + 0x30)" (* "*") (cast_expression "(long *)(param_2 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x30)" (( "(") (binary_expression "param_2 + 0x30" (identifier "param_2") (+ "+") (number_literal "0x30")) () ")")))) (!= "!=") (number_literal "0xabacadab")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage")" (identifier "__assert_fail") (argument_list "("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage")" (( "(") (string_literal ""exception->signature == MagickCoreSignature"" (" """) (string_content "exception->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/pcl.c"" (" """) (string_content "coders/pcl.c") (" """)) (, ",") (number_literal "0xcc") (, ",") (string_literal ""ReadPCLImage"" (" """) (string_content "ReadPCLImage") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar4 = AcquireImage(param_1,param_2);" (assignment_expression "lVar4 = AcquireImage(param_1,param_2)" (identifier "lVar4") (= "=") (call_expression "AcquireImage(param_1,param_2)" (identifier "AcquireImage") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar2 = OpenBlob(param_1,lVar4,2,param_2);" (assignment_expression "iVar2 = OpenBlob(param_1,lVar4,2,param_2)" (identifier "iVar2") (= "=") (call_expression "OpenBlob(param_1,lVar4,2,param_2)" (identifier "OpenBlob") (argument_list "(param_1,lVar4,2,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "lVar4") (, ",") (number_literal "2") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }\n  else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    DestroyImageList(lVar4);\n    uVar9 = 0;\n  }" ({ "{") (expression_statement "DestroyImageList(lVar4);" (call_expression "DestroyImageList(lVar4)" (identifier "DestroyImageList") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")"))) (; ";")) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }" (else "else") (compound_statement "{\n    lVar1 = param_1 + 0x2270;\n    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);\n    if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "lVar1 = param_1 + 0x2270;" (assignment_expression "lVar1 = param_1 + 0x2270" (identifier "lVar1") (= "=") (binary_expression "param_1 + 0x2270" (identifier "param_1") (+ "+") (number_literal "0x2270"))) (; ";")) (expression_statement "iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);" (assignment_expression "iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048)" (identifier "iVar2") (= "=") (call_expression "AcquireUniqueSymbolicLink(lVar1,local_1048)" (identifier "AcquireUniqueSymbolicLink") (argument_list "(lVar1,local_1048)" (( "(") (identifier "lVar1") (, ",") (identifier "local_1048") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }\n    else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar6 = __errno_location();\n      uVar9 = GetExceptionMessage(*piVar6);\n      ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);\n      DestroyString(uVar9);\n      DestroyImageList(lVar4);\n      uVar9 = 0;\n    }" ({ "{") (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar9 = GetExceptionMessage(*piVar6);" (assignment_expression "uVar9 = GetExceptionMessage(*piVar6)" (identifier "uVar9") (= "=") (call_expression "GetExceptionMessage(*piVar6)" (identifier "GetExceptionMessage") (argument_list "(*piVar6)" (( "(") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) () ")")))) (; ";")) (expression_statement "ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9);" (call_expression "ThrowMagickException\n                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",\n                 "\'%s\': %s",lVar1,uVar9)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/pcl.c"" (" """) (string_content "coders/pcl.c") (" """)) (, ",") (string_literal ""ReadPCLImage"" (" """) (string_content "ReadPCLImage") (" """)) (, ",") (number_literal "0xdb") (, ",") (number_literal "0x1ae") (, ",") (string_literal ""UnableToCreateTemporaryFile"" (" """) (string_content "UnableToCreateTemporaryFile") (" """)) (, ",") (string_literal ""\'%s\': %s"" (" """) (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ": %s") (" """)) (, ",") (identifier "lVar1") (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "DestroyString(uVar9);" (call_expression "DestroyString(uVar9)" (identifier "DestroyString") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "DestroyImageList(lVar4);" (call_expression "DestroyImageList(lVar4)" (identifier "DestroyImageList") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")"))) (; ";")) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }" (else "else") (compound_statement "{\n      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }\n      bVar15 = *(int *)(lVar4 + 4) == 2;\n      local_4078 = 0.0;\n      local_4070 = 0.0;\n      local_4068 = 0.0;\n      local_4060[0] = 0.0;\n      local_4098 = 0;\n      local_4090 = 0;\n      local_4088 = 0;\n      local_4080 = 0;\n      memset(local_4048,0,0x1000);\n      iVar2 = ReadBlobByte(lVar4);\n      if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }\n      CloseBlob(lVar4);\n      if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }\n      if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }\n      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");\n      if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }\n      if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }\n    }" ({ "{") (if_statement "if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }" (if "if") (parenthesized_expression "((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0))" (( "(") (binary_expression "(*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)" (parenthesized_expression "(*(double *)(lVar4 + 0x248) == 0.0)" (( "(") (binary_expression "*(double *)(lVar4 + 0x248) == 0.0" (pointer_expression "*(double *)(lVar4 + 0x248)" (* "*") (cast_expression "(double *)(lVar4 + 0x248)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x248)" (( "(") (binary_expression "lVar4 + 0x248" (identifier "lVar4") (+ "+") (number_literal "0x248")) () ")")))) (== "==") (number_literal "0.0")) () ")")) (|| "||") (parenthesized_expression "(*(double *)(lVar4 + 0x250) == 0.0)" (( "(") (binary_expression "*(double *)(lVar4 + 0x250) == 0.0" (pointer_expression "*(double *)(lVar4 + 0x250)" (* "*") (cast_expression "(double *)(lVar4 + 0x250)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x250)" (( "(") (binary_expression "lVar4 + 0x250" (identifier "lVar4") (+ "+") (number_literal "0x250")) () ")")))) (== "==") (number_literal "0.0")) () ")"))) () ")")) (compound_statement "{\n        uVar5 = ParseGeometry("72.0x72.0",&local_4078);\n        *(double *)(lVar4 + 0x248) = local_4078;\n        if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }\n      }" ({ "{") (expression_statement "uVar5 = ParseGeometry("72.0x72.0",&local_4078);" (assignment_expression "uVar5 = ParseGeometry("72.0x72.0",&local_4078)" (identifier "uVar5") (= "=") (call_expression "ParseGeometry("72.0x72.0",&local_4078)" (identifier "ParseGeometry") (argument_list "("72.0x72.0",&local_4078)" (( "(") (string_literal ""72.0x72.0"" (" """) (string_content "72.0x72.0") (" """)) (, ",") (pointer_expression "&local_4078" (& "&") (identifier "local_4078")) () ")")))) (; ";")) (expression_statement "*(double *)(lVar4 + 0x248) = local_4078;" (assignment_expression "*(double *)(lVar4 + 0x248) = local_4078" (pointer_expression "*(double *)(lVar4 + 0x248)" (* "*") (cast_expression "(double *)(lVar4 + 0x248)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x248)" (( "(") (binary_expression "lVar4 + 0x248" (identifier "lVar4") (+ "+") (number_literal "0x248")) () ")")))) (= "=") (identifier "local_4078")) (; ";")) (if_statement "if ((uVar5 & 8) == 0) {\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }\n        else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }" (if "if") (parenthesized_expression "((uVar5 & 8) == 0)" (( "(") (binary_expression "(uVar5 & 8) == 0" (parenthesized_expression "(uVar5 & 8)" (( "(") (binary_expression "uVar5 & 8" (identifier "uVar5") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(double *)(lVar4 + 0x250) = local_4078;\n        }" ({ "{") (expression_statement "*(double *)(lVar4 + 0x250) = local_4078;" (assignment_expression "*(double *)(lVar4 + 0x250) = local_4078" (pointer_expression "*(double *)(lVar4 + 0x250)" (* "*") (cast_expression "(double *)(lVar4 + 0x250)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x250)" (( "(") (binary_expression "lVar4 + 0x250" (identifier "lVar4") (+ "+") (number_literal "0x250")) () ")")))) (= "=") (identifier "local_4078")) (; ";")) (} "}")) (else_clause "else {\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }" (else "else") (compound_statement "{\n          *(double *)(lVar4 + 0x250) = local_4070;\n        }" ({ "{") (expression_statement "*(double *)(lVar4 + 0x250) = local_4070;" (assignment_expression "*(double *)(lVar4 + 0x250) = local_4070" (pointer_expression "*(double *)(lVar4 + 0x250)" (* "*") (cast_expression "(double *)(lVar4 + 0x250)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x250)" (( "(") (binary_expression "lVar4 + 0x250" (identifier "lVar4") (+ "+") (number_literal "0x250")) () ")")))) (= "=") (identifier "local_4070")) (; ";")) (} "}")))) (} "}"))) (expression_statement "bVar15 = *(int *)(lVar4 + 4) == 2;" (assignment_expression "bVar15 = *(int *)(lVar4 + 4) == 2" (identifier "bVar15") (= "=") (binary_expression "*(int *)(lVar4 + 4) == 2" (pointer_expression "*(int *)(lVar4 + 4)" (* "*") (cast_expression "(int *)(lVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 4)" (( "(") (binary_expression "lVar4 + 4" (identifier "lVar4") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "2"))) (; ";")) (expression_statement "local_4078 = 0.0;" (assignment_expression "local_4078 = 0.0" (identifier "local_4078") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "local_4070 = 0.0;" (assignment_expression "local_4070 = 0.0" (identifier "local_4070") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "local_4068 = 0.0;" (assignment_expression "local_4068 = 0.0" (identifier "local_4068") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "local_4060[0] = 0.0;" (assignment_expression "local_4060[0] = 0.0" (subscript_expression "local_4060[0]" (identifier "local_4060") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (expression_statement "local_4098 = 0;" (assignment_expression "local_4098 = 0" (identifier "local_4098") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4090 = 0;" (assignment_expression "local_4090 = 0" (identifier "local_4090") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4088 = 0;" (assignment_expression "local_4088 = 0" (identifier "local_4088") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4080 = 0;" (assignment_expression "local_4080 = 0" (identifier "local_4080") (= "=") (number_literal "0")) (; ";")) (expression_statement "memset(local_4048,0,0x1000);" (call_expression "memset(local_4048,0,0x1000)" (identifier "memset") (argument_list "(local_4048,0,0x1000)" (( "(") (identifier "local_4048") (, ",") (number_literal "0") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "iVar2 = ReadBlobByte(lVar4);" (assignment_expression "iVar2 = ReadBlobByte(lVar4)" (identifier "iVar2") (= "=") (call_expression "ReadBlobByte(lVar4)" (identifier "ReadBlobByte") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")")))) (; ";")) (if_statement "if (iVar2 != -1) {\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }" (if "if") (parenthesized_expression "(iVar2 != -1)" (( "(") (binary_expression "iVar2 != -1" (identifier "iVar2") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        iVar3 = 0;\n        pcVar14 = local_4048;\n        do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);\n      }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar14 = local_4048;" (assignment_expression "pcVar14 = local_4048" (identifier "pcVar14") (= "=") (identifier "local_4048")) (; ";")) (do_statement "do {\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        } while (iVar2 != -1);" (do "do") (compound_statement "{\n          pcVar13 = pcVar14;\n          if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }\nLAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);\n          pcVar14 = pcVar13;\n        }" ({ "{") (expression_statement "pcVar13 = pcVar14;" (assignment_expression "pcVar13 = pcVar14" (identifier "pcVar13") (= "=") (identifier "pcVar14")) (; ";")) (if_statement "if ((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }" (if "if") (parenthesized_expression "((*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048)))))" (( "(") (binary_expression "(*(long *)(param_1 + 0x28) == 0) &&\n             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))" (parenthesized_expression "(*(long *)(param_1 + 0x28) == 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x28) == 0" (pointer_expression "*(long *)(param_1 + 0x28)" (* "*") (cast_expression "(long *)(param_1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))" (( "(") (parenthesized_expression "((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048)))" (( "(") (binary_expression "(*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||\n              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))" (parenthesized_expression "(*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10))" (( "(") (comma_expression "*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)" (assignment_expression "*pcVar14 = (char)iVar2" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (= "=") (cast_expression "(char)iVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar2"))) (, ",") (binary_expression "iVar2 == 0x2f || (iVar2 == 10)" (binary_expression "iVar2 == 0x2f" (identifier "iVar2") (== "==") (number_literal "0x2f")) (|| "||") (parenthesized_expression "(iVar2 == 10)" (( "(") (binary_expression "iVar2 == 10" (identifier "iVar2") (== "==") (number_literal "10")) () ")")))) () ")")) (|| "||") (parenthesized_expression "(pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))" (( "(") (comma_expression "pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048)" (assignment_expression "pcVar13 = pcVar14 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar14 + 1" (identifier "pcVar14") (+ "+") (number_literal "1"))) (, ",") (binary_expression "0xffe < (ulong)((long)pcVar13 - (long)local_4048)" (number_literal "0xffe") (< "<") (call_expression "(ulong)((long)pcVar13 - (long)local_4048)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((long)pcVar13 - (long)local_4048)" (( "(") (binary_expression "(long)pcVar13 - (long)local_4048" (cast_expression "(long)pcVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pcVar13")) (- "-") (cast_expression "(long)local_4048" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_4048"))) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            pcVar14[1] = '\0';\n            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);\n            if (iVar2 == 0) {\n              bVar15 = true;\n            }\n            iVar2 = LocaleNCompare("CropBox",local_4048,7);\n            if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }\nLAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }\n            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;\n            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }\n            if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }\n            if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }\n            if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }\n          }" ({ "{") (expression_statement "pcVar14[1] = '\0';" (assignment_expression "pcVar14[1] = '\0'" (subscript_expression "pcVar14[1]" (identifier "pcVar14") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);" (assignment_expression "iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10)" (identifier "iVar2") (= "=") (call_expression "LocaleNCompare("DeviceCMYK",local_4048,10)" (identifier "LocaleNCompare") (argument_list "("DeviceCMYK",local_4048,10)" (( "(") (string_literal ""DeviceCMYK"" (" """) (string_content "DeviceCMYK") (" """)) (, ",") (identifier "local_4048") (, ",") (number_literal "10") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n              bVar15 = true;\n            }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              bVar15 = true;\n            }" ({ "{") (expression_statement "bVar15 = true;" (assignment_expression "bVar15 = true" (identifier "bVar15") (= "=") (true "true")) (; ";")) (} "}"))) (expression_statement "iVar2 = LocaleNCompare("CropBox",local_4048,7);" (assignment_expression "iVar2 = LocaleNCompare("CropBox",local_4048,7)" (identifier "iVar2") (= "=") (call_expression "LocaleNCompare("CropBox",local_4048,7)" (identifier "LocaleNCompare") (argument_list "("CropBox",local_4048,7)" (( "(") (string_literal ""CropBox"" (" """) (string_content "CropBox") (" """)) (, ",") (identifier "local_4048") (, ",") (number_literal "7") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }\n            else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);\n              if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) goto LAB_0038807b;\n            }" ({ "{") (expression_statement "iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060);" (assignment_expression "iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060)" (identifier "iVar2") (= "=") (call_expression "sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060)" (identifier "sscanf") (argument_list "(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                             &local_4068,local_4060)" (( "(") (identifier "local_4048") (, ",") (string_literal ""CropBox [%lf %lf %lf %lf"" (" """) (string_content "CropBox [%lf %lf %lf %lf") (" """)) (, ",") (pointer_expression "&local_4078" (& "&") (identifier "local_4078")) (, ",") (pointer_expression "&local_4070" (& "&") (identifier "local_4070")) (, ",") (pointer_expression "&local_4068" (& "&") (identifier "local_4068")) (, ",") (identifier "local_4060") () ")")))) (; ";")) (if_statement "if (iVar2 != 4) {\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }" (if "if") (parenthesized_expression "(iVar2 != 4)" (( "(") (binary_expression "iVar2 != 4" (identifier "iVar2") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                goto LAB_00387fa1;\n              }" ({ "{") (expression_statement "iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" (assignment_expression "iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" (identifier "iVar3") (= "=") (call_expression "sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" (identifier "sscanf") (argument_list "(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" (( "(") (identifier "local_4048") (, ",") (string_literal ""CropBox[%lf %lf %lf %lf"" (" """) (string_content "CropBox[%lf %lf %lf %lf") (" """)) (, ",") (pointer_expression "&local_4078" (& "&") (identifier "local_4078")) (, ",") (pointer_expression "&local_4070" (& "&") (identifier "local_4070")) (, ",") (pointer_expression "&local_4068" (& "&") (identifier "local_4068")) (, ",") (identifier "local_4060") () ")")))) (; ";")) (goto_statement "goto LAB_00387fa1;" (goto "goto") (statement_identifier "LAB_00387fa1") (; ";")) (} "}"))) (expression_statement "iVar2 = LocaleNCompare("MediaBox",local_4048,8);" (assignment_expression "iVar2 = LocaleNCompare("MediaBox",local_4048,8)" (identifier "iVar2") (= "=") (call_expression "LocaleNCompare("MediaBox",local_4048,8)" (identifier "LocaleNCompare") (argument_list "("MediaBox",local_4048,8)" (( "(") (string_literal ""MediaBox"" (" """) (string_content "MediaBox") (" """)) (, ",") (identifier "local_4048") (, ",") (number_literal "8") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_0038807b;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0038807b;" (goto "goto") (statement_identifier "LAB_0038807b") (; ";"))) (} "}")) (else_clause "else {\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }" (else "else") (compound_statement "{\nLAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);\n              if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }\n              pcVar13 = local_4048;\n              if (iVar3 != 4) goto LAB_00387fd6;\n            }" ({ "{") (labeled_statement "LAB_00387fa1:\n              iVar2 = LocaleNCompare("MediaBox",local_4048,8);" (statement_identifier "LAB_00387fa1") (: ":") (expression_statement "iVar2 = LocaleNCompare("MediaBox",local_4048,8);" (assignment_expression "iVar2 = LocaleNCompare("MediaBox",local_4048,8)" (identifier "iVar2") (= "=") (call_expression "LocaleNCompare("MediaBox",local_4048,8)" (identifier "LocaleNCompare") (argument_list "("MediaBox",local_4048,8)" (( "(") (string_literal ""MediaBox"" (" """) (string_content "MediaBox") (" """)) (, ",") (identifier "local_4048") (, ",") (number_literal "8") () ")")))) (; ";"))) (if_statement "if (iVar2 == 0) {\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n                if (iVar2 == 4) goto LAB_003880b0;\n                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);\n              }" ({ "{") (labeled_statement "LAB_0038807b:\n                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" (statement_identifier "LAB_0038807b") (: ":") (expression_statement "iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" (assignment_expression "iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" (identifier "iVar2") (= "=") (call_expression "sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" (identifier "sscanf") (argument_list "(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" (( "(") (identifier "local_4048") (, ",") (string_literal ""MediaBox [%lf %lf %lf %lf"" (" """) (string_content "MediaBox [%lf %lf %lf %lf") (" """)) (, ",") (pointer_expression "&local_4078" (& "&") (identifier "local_4078")) (, ",") (pointer_expression "&local_4070" (& "&") (identifier "local_4070")) (, ",") (pointer_expression "&local_4068" (& "&") (identifier "local_4068")) (, ",") (identifier "local_4060") () ")")))) (; ";"))) (if_statement "if (iVar2 == 4) goto LAB_003880b0;" (if "if") (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_003880b0;" (goto "goto") (statement_identifier "LAB_003880b0") (; ";"))) (expression_statement "iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060);" (assignment_expression "iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" (identifier "iVar3") (= "=") (call_expression "sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" (identifier "sscanf") (argument_list "(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,\n                               &local_4068,local_4060)" (( "(") (identifier "local_4048") (, ",") (string_literal ""MediaBox[%lf %lf %lf %lf"" (" """) (string_content "MediaBox[%lf %lf %lf %lf") (" """)) (, ",") (pointer_expression "&local_4078" (& "&") (identifier "local_4078")) (, ",") (pointer_expression "&local_4070" (& "&") (identifier "local_4070")) (, ",") (pointer_expression "&local_4068" (& "&") (identifier "local_4068")) (, ",") (identifier "local_4060") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar13 = local_4048;" (assignment_expression "pcVar13 = local_4048" (identifier "pcVar13") (= "=") (identifier "local_4048")) (; ";")) (if_statement "if (iVar3 != 4) goto LAB_00387fd6;" (if "if") (parenthesized_expression "(iVar3 != 4)" (( "(") (binary_expression "iVar3 != 4" (identifier "iVar3") (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto LAB_00387fd6;" (goto "goto") (statement_identifier "LAB_00387fd6") (; ";"))) (} "}")))) (labeled_statement "LAB_003880b0:\n            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;" (statement_identifier "LAB_003880b0") (: ":") (expression_statement "dVar16 = (local_4068 - local_4078) + DAT_003f9c28;" (assignment_expression "dVar16 = (local_4068 - local_4078) + DAT_003f9c28" (identifier "dVar16") (= "=") (binary_expression "(local_4068 - local_4078) + DAT_003f9c28" (parenthesized_expression "(local_4068 - local_4078)" (( "(") (binary_expression "local_4068 - local_4078" (identifier "local_4068") (- "-") (identifier "local_4078")) () ")")) (+ "+") (identifier "DAT_003f9c28"))) (; ";"))) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" (if "if") (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" (( "(") (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" (( "(") (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16")) (& "&") (identifier "DAT_003f9c70")) () ")"))) (< "<") (identifier "DAT_003f9c30")) () ")")) (compound_statement "{\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" ({ "{") (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" (identifier "dVar16") (= "=") (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" (( "(") (binary_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" (( "(") (binary_expression "(double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)dVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "dVar16"))) (- "-") (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" (( "(") (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" (- "-") (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(dVar16 < (double)(long)dVar16)" (( "(") (binary_expression "dVar16 < (double)(long)dVar16" (identifier "dVar16") (< "<") (cast_expression "(double)(long)dVar16" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)dVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "dVar16")))) () ")")))) (& "&") (cast_expression "(ulong)DAT_003f9608" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_003f9608"))) () ")")))) () ")"))) (| "|") (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" (~ "~") (identifier "DAT_003f9c70")) (& "&") (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16")))) () ")")))) (; ";")) (} "}"))) (if_statement "if (DAT_003f9c40 <= dVar16) {\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar5 = (ulong)dVar16;\n            }" (if "if") (parenthesized_expression "(DAT_003f9c40 <= dVar16)" (( "(") (binary_expression "DAT_003f9c40 <= dVar16" (identifier "DAT_003f9c40") (<= "<=") (identifier "dVar16")) () ")")) (compound_statement "{\n              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }" ({ "{") (expression_statement "uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (identifier "uVar5") (= "=") (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(dVar16 - DAT_003f9c40)" (( "(") (binary_expression "dVar16 - DAT_003f9c40" (identifier "dVar16") (- "-") (identifier "DAT_003f9c40")) () ")"))) (^ "^") (number_literal "0x8000000000000000"))) (; ";")) (} "}")) (else_clause "else {\n              uVar5 = (ulong)dVar16;\n            }" (else "else") (compound_statement "{\n              uVar5 = (ulong)dVar16;\n            }" ({ "{") (expression_statement "uVar5 = (ulong)dVar16;" (assignment_expression "uVar5 = (ulong)dVar16" (identifier "uVar5") (= "=") (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16"))) (; ";")) (} "}")))) (expression_statement "dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;" (assignment_expression "dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28" (identifier "dVar16") (= "=") (binary_expression "(local_4060[0] - local_4070) + DAT_003f9c28" (parenthesized_expression "(local_4060[0] - local_4070)" (( "(") (binary_expression "local_4060[0] - local_4070" (subscript_expression "local_4060[0]" (identifier "local_4060") ([ "[") (number_literal "0") (] "]")) (- "-") (identifier "local_4070")) () ")")) (+ "+") (identifier "DAT_003f9c28"))) (; ";")) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" (if "if") (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" (( "(") (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" (( "(") (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16")) (& "&") (identifier "DAT_003f9c70")) () ")"))) (< "<") (identifier "DAT_003f9c30")) () ")")) (compound_statement "{\n              dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );\n            }" ({ "{") (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               );" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" (identifier "dVar16") (= "=") (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16\n                               )" (( "(") (binary_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608))" (( "(") (binary_expression "(double)(long)dVar16 -\n                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)dVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "dVar16"))) (- "-") (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608)" (( "(") (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                               (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" (- "-") (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(dVar16 < (double)(long)dVar16)" (( "(") (binary_expression "dVar16 < (double)(long)dVar16" (identifier "dVar16") (< "<") (cast_expression "(double)(long)dVar16" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)dVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "dVar16")))) () ")")))) (& "&") (cast_expression "(ulong)DAT_003f9608" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_003f9608"))) () ")")))) () ")"))) (| "|") (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" (~ "~") (identifier "DAT_003f9c70")) (& "&") (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16")))) () ")")))) (; ";")) (} "}"))) (if_statement "if (DAT_003f9c40 <= dVar16) {\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }\n            else {\n              uVar7 = (ulong)dVar16;\n            }" (if "if") (parenthesized_expression "(DAT_003f9c40 <= dVar16)" (( "(") (binary_expression "DAT_003f9c40 <= dVar16" (identifier "DAT_003f9c40") (<= "<=") (identifier "dVar16")) () ")")) (compound_statement "{\n              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n            }" ({ "{") (expression_statement "uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (identifier "uVar7") (= "=") (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(dVar16 - DAT_003f9c40)" (( "(") (binary_expression "dVar16 - DAT_003f9c40" (identifier "dVar16") (- "-") (identifier "DAT_003f9c40")) () ")"))) (^ "^") (number_literal "0x8000000000000000"))) (; ";")) (} "}")) (else_clause "else {\n              uVar7 = (ulong)dVar16;\n            }" (else "else") (compound_statement "{\n              uVar7 = (ulong)dVar16;\n            }" ({ "{") (expression_statement "uVar7 = (ulong)dVar16;" (assignment_expression "uVar7 = (ulong)dVar16" (identifier "uVar7") (= "=") (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16"))) (; ";")) (} "}")))) (if_statement "if (local_4098 < uVar5) {\n              local_4098 = uVar5;\n            }" (if "if") (parenthesized_expression "(local_4098 < uVar5)" (( "(") (binary_expression "local_4098 < uVar5" (identifier "local_4098") (< "<") (identifier "uVar5")) () ")")) (compound_statement "{\n              local_4098 = uVar5;\n            }" ({ "{") (expression_statement "local_4098 = uVar5;" (assignment_expression "local_4098 = uVar5" (identifier "local_4098") (= "=") (identifier "uVar5")) (; ";")) (} "}"))) (if_statement "if (local_4090 < uVar7) {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }\n            else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }" (if "if") (parenthesized_expression "(local_4090 < uVar7)" (( "(") (binary_expression "local_4090 < uVar7" (identifier "local_4090") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n              iVar3 = 4;\n              pcVar13 = local_4048;\n              local_4090 = uVar7;\n            }" ({ "{") (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" (identifier "iVar3") (= "=") (number_literal "4")) (; ";")) (expression_statement "pcVar13 = local_4048;" (assignment_expression "pcVar13 = local_4048" (identifier "pcVar13") (= "=") (identifier "local_4048")) (; ";")) (expression_statement "local_4090 = uVar7;" (assignment_expression "local_4090 = uVar7" (identifier "local_4090") (= "=") (identifier "uVar7")) (; ";")) (} "}")) (else_clause "else {\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }" (else "else") (compound_statement "{\n              iVar3 = 4;\n              pcVar13 = local_4048;\n            }" ({ "{") (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" (identifier "iVar3") (= "=") (number_literal "4")) (; ";")) (expression_statement "pcVar13 = local_4048;" (assignment_expression "pcVar13 = local_4048" (identifier "pcVar13") (= "=") (identifier "local_4048")) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_00387fd6:\n          iVar2 = ReadBlobByte(lVar4);" (statement_identifier "LAB_00387fd6") (: ":") (expression_statement "iVar2 = ReadBlobByte(lVar4);" (assignment_expression "iVar2 = ReadBlobByte(lVar4)" (identifier "iVar2") (= "=") (call_expression "ReadBlobByte(lVar4)" (identifier "ReadBlobByte") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")")))) (; ";"))) (expression_statement "pcVar14 = pcVar13;" (assignment_expression "pcVar14 = pcVar13" (identifier "pcVar14") (= "=") (identifier "pcVar13")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar2 != -1)" (( "(") (binary_expression "iVar2 != -1" (identifier "iVar2") (!= "!=") (number_literal "-1")) () ")")) (; ";")) (} "}"))) (expression_statement "CloseBlob(lVar4);" (call_expression "CloseBlob(lVar4)" (identifier "CloseBlob") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")"))) (; ";")) (if_statement "if ((local_4098 == 0) || (local_4090 == 0)) {\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }" (if "if") (parenthesized_expression "((local_4098 == 0) || (local_4090 == 0))" (( "(") (binary_expression "(local_4098 == 0) || (local_4090 == 0)" (parenthesized_expression "(local_4098 == 0)" (( "(") (binary_expression "local_4098 == 0" (identifier "local_4098") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_4090 == 0)" (( "(") (binary_expression "local_4090 == 0" (identifier "local_4090") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        ParseAbsoluteGeometry("612x792",&local_4098);\n      }" ({ "{") (expression_statement "ParseAbsoluteGeometry("612x792",&local_4098);" (call_expression "ParseAbsoluteGeometry("612x792",&local_4098)" (identifier "ParseAbsoluteGeometry") (argument_list "("612x792",&local_4098)" (( "(") (string_literal ""612x792"" (" """) (string_content "612x792") (" """)) (, ",") (pointer_expression "&local_4098" (& "&") (identifier "local_4098")) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_1 + 0x28) != 0) {\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x28) != 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x28) != 0" (pointer_expression "*(long *)(param_1 + 0x28)" (* "*") (cast_expression "(long *)(param_1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n      }" ({ "{") (expression_statement "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);" (call_expression "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098)" (identifier "ParseAbsoluteGeometry") (argument_list "(*(long *)(param_1 + 0x28),&local_4098)" (( "(") (pointer_expression "*(long *)(param_1 + 0x28)" (* "*") (cast_expression "(long *)(param_1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (, ",") (pointer_expression "&local_4098" (& "&") (identifier "local_4098")) () ")"))) (; ";")) (} "}"))) (expression_statement "FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");" (call_expression "FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g")" (identifier "FormatLocaleString") (argument_list "((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g")" (( "(") (cast_expression "(double)local_4098" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4098")) (, ",") (cast_expression "(double)local_4090" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4090")) (, ",") (identifier "local_2048") (, ",") (number_literal "0x1000") (, ",") (string_literal ""%.20gx%.20g"" (" """) (string_content "%.20gx%.20g") (" """)) () ")"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x204) == 0) {\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }\n      else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x204) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x204) == 0" (pointer_expression "*(int *)(param_1 + 0x204)" (* "*") (cast_expression "(int *)(param_1 + 0x204)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x204)" (( "(") (binary_expression "param_1 + 0x204" (identifier "param_1") (+ "+") (number_literal "0x204")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }\n      }" ({ "{") (if_statement "if (bVar15) {\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }\n        else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }" (if "if") (parenthesized_expression "(bVar15)" (( "(") (identifier "bVar15") () ")")) (compound_statement "{\n          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);\n        }" ({ "{") (expression_statement "lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);" (assignment_expression "lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2)" (identifier "lVar8") (= "=") (call_expression "GetDelegateInfo("pcl:cmyk",0,param_2)" (identifier "GetDelegateInfo") (argument_list "("pcl:cmyk",0,param_2)" (( "(") (string_literal ""pcl:cmyk"" (" """) (string_content "pcl:cmyk") (" """)) (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }" (else "else") (compound_statement "{\n          lVar8 = GetDelegateInfo("pcl:color",0,param_2);\n        }" ({ "{") (expression_statement "lVar8 = GetDelegateInfo("pcl:color",0,param_2);" (assignment_expression "lVar8 = GetDelegateInfo("pcl:color",0,param_2)" (identifier "lVar8") (= "=") (call_expression "GetDelegateInfo("pcl:color",0,param_2)" (identifier "GetDelegateInfo") (argument_list "("pcl:color",0,param_2)" (( "(") (string_literal ""pcl:color"" (" """) (string_content "pcl:color") (" """)) (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }" (else "else") (compound_statement "{\n        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);\n      }" ({ "{") (expression_statement "lVar8 = GetDelegateInfo("pcl:mono",0,param_2);" (assignment_expression "lVar8 = GetDelegateInfo("pcl:mono",0,param_2)" (identifier "lVar8") (= "=") (call_expression "GetDelegateInfo("pcl:mono",0,param_2)" (identifier "GetDelegateInfo") (argument_list "("pcl:mono",0,param_2)" (( "(") (string_literal ""pcl:mono"" (" """) (string_content "pcl:mono") (" """)) (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";")) (} "}")))) (if_statement "if (lVar8 == 0) {\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }\n      else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }" (if "if") (parenthesized_expression "(lVar8 == 0)" (( "(") (binary_expression "lVar8 == 0" (identifier "lVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DestroyImage(lVar4);\n        uVar9 = 0;\n      }" ({ "{") (expression_statement "DestroyImage(lVar4);" (call_expression "DestroyImage(lVar4)" (identifier "DestroyImage") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")"))) (; ";")) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }" (else "else") (compound_statement "{\n        if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }\n        if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }\n        uVar9 = AcquireString(&DAT_00473ecb);\n        uVar10 = AcquireString(&DAT_00473ecb);\n        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");\n        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }\n        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;\n        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }\n        if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }\n        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");\n        DestroyImage(lVar4);\n        lVar11 = CloneImageInfo(param_1);\n        *(undefined1 *)(lVar11 + 0x270) = 0;\n        lVar4 = *(long *)(lVar11 + 0x40);\n        if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }\n        lVar4 = lVar11 + 0x2270;\n        CopyMagickString(local_3048,lVar4,0x1000);\n        AcquireUniqueFilename(lVar4);\n        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;\n        uVar12 = GetDelegateCommands(lVar8);\n        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);\n        DestroyString(uVar10);\n        DestroyString(uVar9);\n        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);\n        lVar8 = ReadImage(lVar11,param_2);\n        RelinquishUniqueFileResource(lVar4);\n        RelinquishUniqueFileResource(local_1048);\n        DestroyImageInfo(lVar11);\n        if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }\n      }" ({ "{") (if_statement "if ((local_4098 == 0) || (local_4090 == 0)) {\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }" (if "if") (parenthesized_expression "((local_4098 == 0) || (local_4090 == 0))" (( "(") (binary_expression "(local_4098 == 0) || (local_4090 == 0)" (parenthesized_expression "(local_4098 == 0)" (( "(") (binary_expression "local_4098 == 0" (identifier "local_4098") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_4090 == 0)" (( "(") (binary_expression "local_4090 == 0" (identifier "local_4090") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          ParseAbsoluteGeometry("612x792",&local_4098);\n        }" ({ "{") (expression_statement "ParseAbsoluteGeometry("612x792",&local_4098);" (call_expression "ParseAbsoluteGeometry("612x792",&local_4098)" (identifier "ParseAbsoluteGeometry") (argument_list "("612x792",&local_4098)" (( "(") (string_literal ""612x792"" (" """) (string_content "612x792") (" """)) (, ",") (pointer_expression "&local_4098" (& "&") (identifier "local_4098")) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_1 + 0x28) != 0) {\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x28) != 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x28) != 0" (pointer_expression "*(long *)(param_1 + 0x28)" (* "*") (cast_expression "(long *)(param_1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);\n        }" ({ "{") (expression_statement "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);" (call_expression "ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098)" (identifier "ParseAbsoluteGeometry") (argument_list "(*(long *)(param_1 + 0x28),&local_4098)" (( "(") (pointer_expression "*(long *)(param_1 + 0x28)" (* "*") (cast_expression "(long *)(param_1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (, ",") (pointer_expression "&local_4098" (& "&") (identifier "local_4098")) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = AcquireString(&DAT_00473ecb);" (assignment_expression "uVar9 = AcquireString(&DAT_00473ecb)" (identifier "uVar9") (= "=") (call_expression "AcquireString(&DAT_00473ecb)" (identifier "AcquireString") (argument_list "(&DAT_00473ecb)" (( "(") (pointer_expression "&DAT_00473ecb" (& "&") (identifier "DAT_00473ecb")) () ")")))) (; ";")) (expression_statement "uVar10 = AcquireString(&DAT_00473ecb);" (assignment_expression "uVar10 = AcquireString(&DAT_00473ecb)" (identifier "uVar10") (= "=") (call_expression "AcquireString(&DAT_00473ecb)" (identifier "AcquireString") (argument_list "(&DAT_00473ecb)" (( "(") (pointer_expression "&DAT_00473ecb" (& "&") (identifier "DAT_00473ecb")) () ")")))) (; ";")) (expression_statement "FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g");" (call_expression "FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g")" (identifier "FormatLocaleString") (argument_list "(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,\n                           0x1000,"%gx%g")" (( "(") (pointer_expression "*(undefined8 *)(lVar4 + 0x248)" (* "*") (cast_expression "(undefined8 *)(lVar4 + 0x248)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x248)" (( "(") (binary_expression "lVar4 + 0x248" (identifier "lVar4") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (pointer_expression "*(undefined8 *)(lVar4 + 0x250)" (* "*") (cast_expression "(undefined8 *)(lVar4 + 0x250)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x250)" (( "(") (binary_expression "lVar4 + 0x250" (identifier "lVar4") (+ "+") (number_literal "0x250")) () ")")))) (, ",") (identifier "uVar9") (, ",") (number_literal "0x1000") (, ",") (string_literal ""%gx%g"" (" """) (string_content "%gx%g") (" """)) () ")"))) (; ";")) (expression_statement "dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;" (assignment_expression "dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28" (identifier "dVar16") (= "=") (binary_expression "((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28" (binary_expression "((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20" (parenthesized_expression "((double)local_4098 * *(double *)(lVar4 + 0x248))" (( "(") (binary_expression "(double)local_4098 * *(double *)(lVar4 + 0x248)" (cast_expression "(double)local_4098" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4098")) (* "*") (pointer_expression "*(double *)(lVar4 + 0x248)" (* "*") (cast_expression "(double *)(lVar4 + 0x248)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x248)" (( "(") (binary_expression "lVar4 + 0x248" (identifier "lVar4") (+ "+") (number_literal "0x248")) () ")"))))) () ")")) (/ "/") (identifier "DAT_003f9c20")) (+ "+") (identifier "DAT_003f9c28"))) (; ";")) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" (if "if") (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" (( "(") (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" (( "(") (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16")) (& "&") (identifier "DAT_003f9c70")) () ")"))) (< "<") (identifier "DAT_003f9c30")) () ")")) (compound_statement "{\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" ({ "{") (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" (identifier "dVar16") (= "=") (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" (( "(") (binary_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" (( "(") (binary_expression "(double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)dVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "dVar16"))) (- "-") (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" (( "(") (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" (- "-") (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(dVar16 < (double)(long)dVar16)" (( "(") (binary_expression "dVar16 < (double)(long)dVar16" (identifier "dVar16") (< "<") (cast_expression "(double)(long)dVar16" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)dVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "dVar16")))) () ")")))) (& "&") (cast_expression "(ulong)DAT_003f9608" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_003f9608"))) () ")")))) () ")"))) (| "|") (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" (~ "~") (identifier "DAT_003f9c70")) (& "&") (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16")))) () ")")))) (; ";")) (} "}"))) (if_statement "if (DAT_003f9c40 <= dVar16) {\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4098 = (ulong)dVar16;\n        }" (if "if") (parenthesized_expression "(DAT_003f9c40 <= dVar16)" (( "(") (binary_expression "DAT_003f9c40 <= dVar16" (identifier "DAT_003f9c40") (<= "<=") (identifier "dVar16")) () ")")) (compound_statement "{\n          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }" ({ "{") (expression_statement "local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (identifier "local_4098") (= "=") (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(dVar16 - DAT_003f9c40)" (( "(") (binary_expression "dVar16 - DAT_003f9c40" (identifier "dVar16") (- "-") (identifier "DAT_003f9c40")) () ")"))) (^ "^") (number_literal "0x8000000000000000"))) (; ";")) (} "}")) (else_clause "else {\n          local_4098 = (ulong)dVar16;\n        }" (else "else") (compound_statement "{\n          local_4098 = (ulong)dVar16;\n        }" ({ "{") (expression_statement "local_4098 = (ulong)dVar16;" (assignment_expression "local_4098 = (ulong)dVar16" (identifier "local_4098") (= "=") (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16"))) (; ";")) (} "}")))) (expression_statement "dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;" (assignment_expression "dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28" (identifier "dVar16") (= "=") (binary_expression "((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28" (binary_expression "((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20" (parenthesized_expression "((double)local_4090 * *(double *)(lVar4 + 0x250))" (( "(") (binary_expression "(double)local_4090 * *(double *)(lVar4 + 0x250)" (cast_expression "(double)local_4090" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4090")) (* "*") (pointer_expression "*(double *)(lVar4 + 0x250)" (* "*") (cast_expression "(double *)(lVar4 + 0x250)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x250)" (( "(") (binary_expression "lVar4 + 0x250" (identifier "lVar4") (+ "+") (number_literal "0x250")) () ")"))))) () ")")) (/ "/") (identifier "DAT_003f9c20")) (+ "+") (identifier "DAT_003f9c28"))) (; ";")) (if_statement "if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" (if "if") (parenthesized_expression "((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30)" (( "(") (binary_expression "(double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30" (cast_expression "(double)((ulong)dVar16 & DAT_003f9c70)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((ulong)dVar16 & DAT_003f9c70)" (( "(") (binary_expression "(ulong)dVar16 & DAT_003f9c70" (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16")) (& "&") (identifier "DAT_003f9c70")) () ")"))) (< "<") (identifier "DAT_003f9c30")) () ")")) (compound_statement "{\n          dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);\n        }" ({ "{") (expression_statement "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);" (assignment_expression "dVar16 = (double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" (identifier "dVar16") (= "=") (cast_expression "(double)((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16)" (( "(") (binary_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16" (call_expression "(ulong)((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608))" (( "(") (binary_expression "(double)(long)dVar16 -\n                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" (cast_expression "(double)(long)dVar16" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)dVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "dVar16"))) (- "-") (cast_expression "(double)(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608)" (( "(") (binary_expression "-(ulong)(dVar16 < (double)(long)dVar16) &\n                                           (ulong)DAT_003f9608" (unary_expression "-(ulong)(dVar16 < (double)(long)dVar16)" (- "-") (call_expression "(ulong)(dVar16 < (double)(long)dVar16)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(dVar16 < (double)(long)dVar16)" (( "(") (binary_expression "dVar16 < (double)(long)dVar16" (identifier "dVar16") (< "<") (cast_expression "(double)(long)dVar16" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)dVar16" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "dVar16")))) () ")")))) (& "&") (cast_expression "(ulong)DAT_003f9608" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_003f9608"))) () ")")))) () ")"))) (| "|") (binary_expression "~DAT_003f9c70 & (ulong)dVar16" (unary_expression "~DAT_003f9c70" (~ "~") (identifier "DAT_003f9c70")) (& "&") (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16")))) () ")")))) (; ";")) (} "}"))) (if_statement "if (DAT_003f9c40 <= dVar16) {\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }\n        else {\n          local_4090 = (ulong)dVar16;\n        }" (if "if") (parenthesized_expression "(DAT_003f9c40 <= dVar16)" (( "(") (binary_expression "DAT_003f9c40 <= dVar16" (identifier "DAT_003f9c40") (<= "<=") (identifier "dVar16")) () ")")) (compound_statement "{\n          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;\n        }" ({ "{") (expression_statement "local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;" (assignment_expression "local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (identifier "local_4090") (= "=") (binary_expression "(long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000" (cast_expression "(long)(dVar16 - DAT_003f9c40)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(dVar16 - DAT_003f9c40)" (( "(") (binary_expression "dVar16 - DAT_003f9c40" (identifier "dVar16") (- "-") (identifier "DAT_003f9c40")) () ")"))) (^ "^") (number_literal "0x8000000000000000"))) (; ";")) (} "}")) (else_clause "else {\n          local_4090 = (ulong)dVar16;\n        }" (else "else") (compound_statement "{\n          local_4090 = (ulong)dVar16;\n        }" ({ "{") (expression_statement "local_4090 = (ulong)dVar16;" (assignment_expression "local_4090 = (ulong)dVar16" (identifier "local_4090") (= "=") (cast_expression "(ulong)dVar16" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "dVar16"))) (; ";")) (} "}")))) (expression_statement "FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");" (call_expression "FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ")" (identifier "FormatLocaleString") (argument_list "((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ")" (( "(") (cast_expression "(double)local_4098" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4098")) (, ",") (cast_expression "(double)local_4090" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4090")) (, ",") (identifier "uVar10") (, ",") (number_literal "0x1000") (, ",") (string_literal ""-g%.20gx%.20g "" (" """) (string_content "-g%.20gx%.20g ") (" """)) () ")"))) (; ";")) (expression_statement "DestroyImage(lVar4);" (call_expression "DestroyImage(lVar4)" (identifier "DestroyImage") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")"))) (; ";")) (expression_statement "lVar11 = CloneImageInfo(param_1);" (assignment_expression "lVar11 = CloneImageInfo(param_1)" (identifier "lVar11") (= "=") (call_expression "CloneImageInfo(param_1)" (identifier "CloneImageInfo") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "*(undefined1 *)(lVar11 + 0x270) = 0;" (assignment_expression "*(undefined1 *)(lVar11 + 0x270) = 0" (pointer_expression "*(undefined1 *)(lVar11 + 0x270)" (* "*") (cast_expression "(undefined1 *)(lVar11 + 0x270)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x270)" (( "(") (binary_expression "lVar11 + 0x270" (identifier "lVar11") (+ "+") (number_literal "0x270")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar4 = *(long *)(lVar11 + 0x40);" (assignment_expression "lVar4 = *(long *)(lVar11 + 0x40)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(lVar11 + 0x40)" (* "*") (cast_expression "(long *)(lVar11 + 0x40)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x40)" (( "(") (binary_expression "lVar11 + 0x40" (identifier "lVar11") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (lVar4 != 0) {\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }" (if "if") (parenthesized_expression "(lVar4 != 0)" (( "(") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }\n          *(undefined8 *)(lVar11 + 0x40) = 0;\n          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }\n        }" ({ "{") (if_statement "if (lVar4 == 1) {\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }\n          else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }" (if "if") (parenthesized_expression "(lVar4 == 1)" (( "(") (binary_expression "lVar4 == 1" (identifier "lVar4") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");\n          }" ({ "{") (expression_statement "FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g");" (call_expression "FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g")" (identifier "FormatLocaleString") (argument_list "((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,\n                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,\n                               "-dFirstPage=%.20g -dLastPage=%.20g")" (( "(") (binary_expression "(double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608" (cast_expression "(double)*(ulong *)(lVar11 + 0x38)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(ulong *)(lVar11 + 0x38)" (* "*") (cast_expression "(ulong *)(lVar11 + 0x38)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x38)" (( "(") (binary_expression "lVar11 + 0x38" (identifier "lVar11") (+ "+") (number_literal "0x38")) () ")"))))) (+ "+") (identifier "DAT_003f9608")) (, ",") (cast_expression "(double)(*(ulong *)(lVar11 + 0x38) + 1)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(*(ulong *)(lVar11 + 0x38) + 1)" (( "(") (binary_expression "*(ulong *)(lVar11 + 0x38) + 1" (pointer_expression "*(ulong *)(lVar11 + 0x38)" (* "*") (cast_expression "(ulong *)(lVar11 + 0x38)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x38)" (( "(") (binary_expression "lVar11 + 0x38" (identifier "lVar11") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "1")) () ")"))) (, ",") (identifier "uVar10") (, ",") (number_literal "0x1000") (, ",") (string_literal ""-dFirstPage=%.20g -dLastPage=%.20g"" (" """) (string_content "-dFirstPage=%.20g -dLastPage=%.20g") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }" (else "else") (compound_statement "{\n            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");\n          }" ({ "{") (expression_statement "FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g");" (call_expression "FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g")" (identifier "FormatLocaleString") (argument_list "((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,\n                               "-dLastPage=%.20g")" (( "(") (cast_expression "(double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(ulong)(lVar4 + *(long *)(lVar11 + 0x38))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(lVar4 + *(long *)(lVar11 + 0x38))" (( "(") (binary_expression "lVar4 + *(long *)(lVar11 + 0x38)" (identifier "lVar4") (+ "+") (pointer_expression "*(long *)(lVar11 + 0x38)" (* "*") (cast_expression "(long *)(lVar11 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x38)" (( "(") (binary_expression "lVar11 + 0x38" (identifier "lVar11") (+ "+") (number_literal "0x38")) () ")"))))) () ")")))) (, ",") (identifier "uVar10") (, ",") (number_literal "0x1000") (, ",") (string_literal ""-dLastPage=%.20g"" (" """) (string_content "-dLastPage=%.20g") (" """)) () ")"))) (; ";")) (} "}")))) (expression_statement "*(undefined8 *)(lVar11 + 0x40) = 0;" (assignment_expression "*(undefined8 *)(lVar11 + 0x40) = 0" (pointer_expression "*(undefined8 *)(lVar11 + 0x40)" (* "*") (cast_expression "(undefined8 *)(lVar11 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x40)" (( "(") (binary_expression "lVar11 + 0x40" (identifier "lVar11") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }" (if "if") (parenthesized_expression "(*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0)" (( "(") (binary_expression "*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0" (pointer_expression "*(undefined1 **)(lVar11 + 0x30)" (* "*") (cast_expression "(undefined1 **)(lVar11 + 0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar11 + 0x30)" (( "(") (binary_expression "lVar11 + 0x30" (identifier "lVar11") (+ "+") (number_literal "0x30")) () ")")))) (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            **(undefined1 **)(lVar11 + 0x30) = 0;\n          }" ({ "{") (expression_statement "**(undefined1 **)(lVar11 + 0x30) = 0;" (assignment_expression "**(undefined1 **)(lVar11 + 0x30) = 0" (pointer_expression "**(undefined1 **)(lVar11 + 0x30)" (* "*") (pointer_expression "*(undefined1 **)(lVar11 + 0x30)" (* "*") (cast_expression "(undefined1 **)(lVar11 + 0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar11 + 0x30)" (( "(") (binary_expression "lVar11 + 0x30" (identifier "lVar11") (+ "+") (number_literal "0x30")) () ")"))))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}"))) (expression_statement "lVar4 = lVar11 + 0x2270;" (assignment_expression "lVar4 = lVar11 + 0x2270" (identifier "lVar4") (= "=") (binary_expression "lVar11 + 0x2270" (identifier "lVar11") (+ "+") (number_literal "0x2270"))) (; ";")) (expression_statement "CopyMagickString(local_3048,lVar4,0x1000);" (call_expression "CopyMagickString(local_3048,lVar4,0x1000)" (identifier "CopyMagickString") (argument_list "(local_3048,lVar4,0x1000)" (( "(") (identifier "local_3048") (, ",") (identifier "lVar4") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "AcquireUniqueFilename(lVar4);" (call_expression "AcquireUniqueFilename(lVar4)" (identifier "AcquireUniqueFilename") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")"))) (; ";")) (expression_statement "iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;" (assignment_expression "iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4" (identifier "iVar2") (= "=") (binary_expression "(-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4" (parenthesized_expression "(-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd)" (( "(") (binary_expression "-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd" (unary_expression "-(uint)(*(int *)(lVar11 + 0x14) == 0)" (- "-") (call_expression "(uint)(*(int *)(lVar11 + 0x14) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(lVar11 + 0x14) == 0)" (( "(") (binary_expression "*(int *)(lVar11 + 0x14) == 0" (pointer_expression "*(int *)(lVar11 + 0x14)" (* "*") (cast_expression "(int *)(lVar11 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x14)" (( "(") (binary_expression "lVar11 + 0x14" (identifier "lVar11") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0xfffffffd")) () ")")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uVar12 = GetDelegateCommands(lVar8);" (assignment_expression "uVar12 = GetDelegateCommands(lVar8)" (identifier "uVar12") (= "=") (call_expression "GetDelegateCommands(lVar8)" (identifier "GetDelegateCommands") (argument_list "(lVar8)" (( "(") (identifier "lVar8") () ")")))) (; ";")) (expression_statement "FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);" (call_expression "FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048)" (identifier "FormatLocaleString") (argument_list "(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048)" (( "(") (identifier "local_4048") (, ",") (number_literal "0x1000") (, ",") (identifier "uVar12") (, ",") (identifier "iVar2") (, ",") (identifier "iVar2") (, ",") (identifier "uVar9") (, ",") (identifier "uVar10") (, ",") (identifier "lVar4") (, ",") (identifier "local_1048") () ")"))) (; ";")) (expression_statement "DestroyString(uVar10);" (call_expression "DestroyString(uVar10)" (identifier "DestroyString") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "DestroyString(uVar9);" (call_expression "DestroyString(uVar9)" (identifier "DestroyString") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);" (call_expression "ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2)" (identifier "ExternalDelegateCommand") (argument_list "(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2)" (( "(") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(lVar11 + 0x218)" (* "*") (cast_expression "(undefined4 *)(lVar11 + 0x218)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar11 + 0x218)" (( "(") (binary_expression "lVar11 + 0x218" (identifier "lVar11") (+ "+") (number_literal "0x218")) () ")")))) (, ",") (identifier "local_4048") (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "lVar8 = ReadImage(lVar11,param_2);" (assignment_expression "lVar8 = ReadImage(lVar11,param_2)" (identifier "lVar8") (= "=") (call_expression "ReadImage(lVar11,param_2)" (identifier "ReadImage") (argument_list "(lVar11,param_2)" (( "(") (identifier "lVar11") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "RelinquishUniqueFileResource(lVar4);" (call_expression "RelinquishUniqueFileResource(lVar4)" (identifier "RelinquishUniqueFileResource") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")"))) (; ";")) (expression_statement "RelinquishUniqueFileResource(local_1048);" (call_expression "RelinquishUniqueFileResource(local_1048)" (identifier "RelinquishUniqueFileResource") (argument_list "(local_1048)" (( "(") (identifier "local_1048") () ")"))) (; ";")) (expression_statement "DestroyImageInfo(lVar11);" (call_expression "DestroyImageInfo(lVar11)" (identifier "DestroyImageInfo") (argument_list "(lVar11)" (( "(") (identifier "lVar11") () ")"))) (; ";")) (if_statement "if (lVar8 == 0) {\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }\n        else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }" (if "if") (parenthesized_expression "(lVar8 == 0)" (( "(") (binary_expression "lVar8 == 0" (identifier "lVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);\n          uVar9 = 0;\n        }" ({ "{") (expression_statement "ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1);" (call_expression "ThrowMagickException\n                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",\n                     lVar1)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/pcl.c"" (" """) (string_content "coders/pcl.c") (" """)) (, ",") (string_literal ""ReadPCLImage"" (" """) (string_content "ReadPCLImage") (" """)) (, ",") (number_literal "0x172") (, ",") (number_literal "0x19f") (, ",") (string_literal ""PCLDelegateFailed"" (" """) (string_content "PCLDelegateFailed") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (identifier "lVar1") () ")"))) (; ";")) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }" (else "else") (compound_statement "{\n          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);\n          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }\n          do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);\n          uVar9 = GetFirstImageInList(lVar4);\n        }" ({ "{") (expression_statement "iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);" (assignment_expression "iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6)" (identifier "iVar2") (= "=") (call_expression "LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6)" (identifier "LocaleCompare") (argument_list "(lVar8 + 0x23f8,&DAT_00432dc6)" (( "(") (binary_expression "lVar8 + 0x23f8" (identifier "lVar8") (+ "+") (number_literal "0x23f8")) (, ",") (pointer_expression "&DAT_00432dc6" (& "&") (identifier "DAT_00432dc6")) () ")")))) (; ";")) (if_statement "if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }" (if "if") (parenthesized_expression "((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0))" (( "(") (binary_expression "(iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)" (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)" (( "(") (comma_expression "lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0" (assignment_expression "lVar4 = ConsolidateCMYKImages(lVar8,param_2)" (identifier "lVar4") (= "=") (call_expression "ConsolidateCMYKImages(lVar8,param_2)" (identifier "ConsolidateCMYKImages") (argument_list "(lVar8,param_2)" (( "(") (identifier "lVar8") (, ",") (identifier "param_2") () ")")))) (, ",") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            DestroyImageList(lVar8);\n            lVar8 = lVar4;\n          }" ({ "{") (expression_statement "DestroyImageList(lVar8);" (call_expression "DestroyImageList(lVar8)" (identifier "DestroyImageList") (argument_list "(lVar8)" (( "(") (identifier "lVar8") () ")"))) (; ";")) (expression_statement "lVar8 = lVar4;" (assignment_expression "lVar8 = lVar4" (identifier "lVar8") (= "=") (identifier "lVar4")) (; ";")) (} "}"))) (do_statement "do {\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          } while (lVar8 != 0);" (do "do") (compound_statement "{\n            lVar4 = lVar8;\n            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);\n            *(ulong *)(lVar4 + 600) = local_4098;\n            *(ulong *)(lVar4 + 0x260) = local_4090;\n            *(undefined8 *)(lVar4 + 0x268) = local_4088;\n            *(undefined8 *)(lVar4 + 0x270) = local_4080;\n            lVar8 = SyncNextImageInList(lVar4);\n          }" ({ "{") (expression_statement "lVar4 = lVar8;" (assignment_expression "lVar4 = lVar8" (identifier "lVar4") (= "=") (identifier "lVar8")) (; ";")) (expression_statement "CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);" (call_expression "CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000)" (identifier "CopyMagickString") (argument_list "(lVar4 + 0x3f8,local_3048,0x1000)" (( "(") (binary_expression "lVar4 + 0x3f8" (identifier "lVar4") (+ "+") (number_literal "0x3f8")) (, ",") (identifier "local_3048") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "*(ulong *)(lVar4 + 600) = local_4098;" (assignment_expression "*(ulong *)(lVar4 + 600) = local_4098" (pointer_expression "*(ulong *)(lVar4 + 600)" (* "*") (cast_expression "(ulong *)(lVar4 + 600)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 600)" (( "(") (binary_expression "lVar4 + 600" (identifier "lVar4") (+ "+") (number_literal "600")) () ")")))) (= "=") (identifier "local_4098")) (; ";")) (expression_statement "*(ulong *)(lVar4 + 0x260) = local_4090;" (assignment_expression "*(ulong *)(lVar4 + 0x260) = local_4090" (pointer_expression "*(ulong *)(lVar4 + 0x260)" (* "*") (cast_expression "(ulong *)(lVar4 + 0x260)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x260)" (( "(") (binary_expression "lVar4 + 0x260" (identifier "lVar4") (+ "+") (number_literal "0x260")) () ")")))) (= "=") (identifier "local_4090")) (; ";")) (expression_statement "*(undefined8 *)(lVar4 + 0x268) = local_4088;" (assignment_expression "*(undefined8 *)(lVar4 + 0x268) = local_4088" (pointer_expression "*(undefined8 *)(lVar4 + 0x268)" (* "*") (cast_expression "(undefined8 *)(lVar4 + 0x268)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x268)" (( "(") (binary_expression "lVar4 + 0x268" (identifier "lVar4") (+ "+") (number_literal "0x268")) () ")")))) (= "=") (identifier "local_4088")) (; ";")) (expression_statement "*(undefined8 *)(lVar4 + 0x270) = local_4080;" (assignment_expression "*(undefined8 *)(lVar4 + 0x270) = local_4080" (pointer_expression "*(undefined8 *)(lVar4 + 0x270)" (* "*") (cast_expression "(undefined8 *)(lVar4 + 0x270)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x270)" (( "(") (binary_expression "lVar4 + 0x270" (identifier "lVar4") (+ "+") (number_literal "0x270")) () ")")))) (= "=") (identifier "local_4080")) (; ";")) (expression_statement "lVar8 = SyncNextImageInList(lVar4);" (assignment_expression "lVar8 = SyncNextImageInList(lVar4)" (identifier "lVar8") (= "=") (call_expression "SyncNextImageInList(lVar4)" (identifier "SyncNextImageInList") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar8 != 0)" (( "(") (binary_expression "lVar8 != 0" (identifier "lVar8") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar9 = GetFirstImageInList(lVar4);" (assignment_expression "uVar9 = GetFirstImageInList(lVar4)" (identifier "uVar9") (= "=") (call_expression "GetFirstImageInList(lVar4)" (identifier "GetFirstImageInList") (argument_list "(lVar4)" (( "(") (identifier "lVar4") () ")")))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" (if "if") (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (!= "!=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" ({ "{") (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return uVar9;" (return "return") (identifier "uVar9") (; ";")) (} "}")))

/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* 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 "LogEventType": Some values do not have unique names */

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

{
  double *pdVar1;
  char *source;
  char *source_00;
  long var_57;
  size_t var_42;
  type_4 var_9;
  type_5 var_17;
  int var_21;
  int var_25;
  type_1 *var_51;
  int *piVar9;
  type_6 var_32;
  type_7 *var_37;
  char *var_22;
  char *pcVar12;
  type_2 *image_info_00;
  char *format;
  type_1 *var_54;
  type_6 var_31;
  type_8 uVar15;
  long var_1;
  bool bVar16;
  double var_29;
  type_9 bounding_box;
  type_9 page;
  type_10 bounds;
  char command [4096];
  char filename [4096];
  char geometry [4096];
  char input_filename [4096];
  
  var_57 = *(long *)(var_1 + 0x28);
  if (var_2 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");
  }
  if (var_2->debug != var_4) {
    var_5(TraceEvent,"coders/pcl.c","ReadPCLImage",0xc9,"%s",var_2->filename);
  }
  if (var_6 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");
  }
  if (var_6->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");
  }
  var_51 = var_7(var_2,var_6);
  var_9 = var_8(var_2,var_51,ReadBinaryBlobMode,var_6);
  if (var_9 == var_4) {
    var_10(var_51);
    var_51 = (type_1 *)0x0;
  }
  else {
    source = var_2->filename;
    var_9 = var_11(source,input_filename);
    if (var_9 == var_4) {
      piVar9 = var_12();
      var_22 = var_13(*piVar9);
      var_14
                (var_6,"coders/pcl.c","ReadPCLImage",0xdb,FileOpenError,
                 "UnableToCreateTemporaryFile","\'%s\': %s",source,var_22);
      var_15(var_22);
      var_10(var_51);
      var_51 = (type_1 *)0x0;
    }
    else {
      if (((var_51->resolution).x == 0.0) || ((var_51->resolution).y == 0.0)) {
        var_17 = var_16("72.0x72.0",(type_11 *)&bounds);
        (var_51->resolution).x = bounds.x1;
        if ((var_17 & 8) == 0) {
          (var_51->resolution).y = bounds.x1;
        }
        else {
          (var_51->resolution).y = bounds.y1;
        }
      }
      bVar16 = var_51->colorspace == var_18;
      bounds.x1 = 0.0;
      bounds.y1 = 0.0;
      bounds.x2 = 0.0;
      bounds.y2 = 0.0;
      page.width = 0;
      page.height = 0;
      page.x = 0;
      page.y = 0;
      var_19(command,0,0x1000);
      var_21 = var_20(var_51);
      if (var_21 != -1) {
        var_25 = 0;
        pdVar1 = &bounds.y2;
        var_22 = command;
        do {
          pcVar12 = var_22;
          if ((var_2->page == (char *)0x0) &&
             (((*var_22 = (char)var_21, var_21 == 0x2f || (var_21 == 10)) ||
              (pcVar12 = var_22 + 1, 0xffe < (type_6)((long)pcVar12 - (long)command))))) {
            var_22[1] = '\0';
            var_21 = var_23("DeviceCMYK",command,10);
            if (var_21 == 0) {
              bVar16 = true;
            }
            var_21 = var_23("CropBox",command,7);
            if (var_21 == 0) {
              var_21 = var_24(command,"CropBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,pdVar1
                            );
              if (var_21 != 4) {
                var_25 = var_24(command,"CropBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,
                               pdVar1);
                goto LAB_00387fa1;
              }
              var_21 = var_23("MediaBox",command,8);
              if (var_21 == 0) goto LAB_0038807b;
            }
            else {
LAB_00387fa1:
              var_21 = var_23("MediaBox",command,8);
              if (var_21 == 0) {
LAB_0038807b:
                var_21 = var_24(command,"MediaBox [%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,
                               pdVar1);
                if (var_21 == 4) goto LAB_003880b0;
                var_25 = var_24(command,"MediaBox[%lf %lf %lf %lf",&bounds,&bounds.y1,&bounds.x2,
                               pdVar1);
              }
              pcVar12 = command;
              if (var_25 != 4) goto LAB_00387fd6;
            }
LAB_003880b0:
            var_29 = (bounds.x2 - bounds.x1) + var_26;
            if ((double)((type_6)var_29 & var_27) < var_28) {
              var_29 = (double)((type_6)((double)(long)var_29 -
                                       (double)(-(type_6)(var_29 < (double)(long)var_29) &
                                               (type_6)var_43)) | ~var_27 & (type_6)var_29
                               );
            }
            if (var_30 <= var_29) {
              var_31 = (long)(var_29 - var_30) ^ 0x8000000000000000;
            }
            else {
              var_31 = (type_6)var_29;
            }
            var_29 = (bounds.y2 - bounds.y1) + var_26;
            if ((double)((type_6)var_29 & var_27) < var_28) {
              var_29 = (double)((type_6)((double)(long)var_29 -
                                       (double)(-(type_6)(var_29 < (double)(long)var_29) &
                                               (type_6)var_43)) | ~var_27 & (type_6)var_29
                               );
            }
            if (var_30 <= var_29) {
              var_32 = (long)(var_29 - var_30) ^ 0x8000000000000000;
            }
            else {
              var_32 = (type_6)var_29;
            }
            if (page.width < var_31) {
              page.width = var_31;
            }
            if (page.height < var_32) {
              var_25 = 4;
              pcVar12 = command;
              page.height = var_32;
            }
            else {
              var_25 = 4;
              pcVar12 = command;
            }
          }
LAB_00387fd6:
          var_21 = var_20(var_51);
          var_22 = pcVar12;
        } while (var_21 != -1);
      }
      var_33(var_51);
      if ((page.width == 0) || (page.height == 0)) {
        var_34("612x792",&page);
      }
      if (var_2->page != (char *)0x0) {
        var_34(var_2->page,&page);
      }
      var_35(geometry,0x1000,"%.20gx%.20g",(double)page.width,(double)page.height);
      if (var_2->monochrome == var_4) {
        if (bVar16) {
          var_37 = var_36("pcl:cmyk",(char *)0x0,var_6);
        }
        else {
          var_37 = var_36("pcl:color",(char *)0x0,var_6);
        }
      }
      else {
        var_37 = var_36("pcl:mono",(char *)0x0,var_6);
      }
      if (var_37 == (type_7 *)0x0) {
        var_38(var_51);
        var_51 = (type_1 *)0x0;
      }
      else {
        if ((page.width == 0) || (page.height == 0)) {
          var_34("612x792",&page);
        }
        if (var_2->page != (char *)0x0) {
          var_34(var_2->page,&page);
        }
        var_22 = var_39("");
        pcVar12 = var_39("");
        var_35(var_22,0x1000,"%gx%g",(var_51->resolution).x,(var_51->resolution).y);
        var_29 = ((double)page.width * (var_51->resolution).x) / var_40 + var_26;
        if ((double)((type_6)var_29 & var_27) < var_28) {
          var_29 = (double)((type_6)((double)(long)var_29 -
                                   (double)(-(type_6)(var_29 < (double)(long)var_29) &
                                           (type_6)var_43)) | ~var_27 & (type_6)var_29);
        }
        if (var_30 <= var_29) {
          page.width = (long)(var_29 - var_30) ^ 0x8000000000000000;
        }
        else {
          page.width = (size_t)var_29;
        }
        var_29 = ((double)page.height * (var_51->resolution).y) / var_40 + var_26;
        if ((double)((type_6)var_29 & var_27) < var_28) {
          var_29 = (double)((type_6)((double)(long)var_29 -
                                   (double)(-(type_6)(var_29 < (double)(long)var_29) &
                                           (type_6)var_43)) | ~var_27 & (type_6)var_29);
        }
        if (var_30 <= var_29) {
          page.height = (long)(var_29 - var_30) ^ 0x8000000000000000;
        }
        else {
          page.height = (size_t)var_29;
        }
        var_35(pcVar12,0x1000,"-g%.20gx%.20g ",(double)page.width,(double)page.height);
        var_38(var_51);
        image_info_00 = var_41(var_2);
        image_info_00->magick[0] = '\0';
        var_42 = image_info_00->number_scenes;
        if (var_42 != 0) {
          if (var_42 == 1) {
            var_35(pcVar12,0x1000,"-dFirstPage=%.20g -dLastPage=%.20g",
                               (double)image_info_00->scene + var_43,
                               (double)(image_info_00->scene + 1));
          }
          else {
            var_35(pcVar12,0x1000,"-dLastPage=%.20g",
                               (double)(var_42 + image_info_00->scene));
          }
          image_info_00->number_scenes = 0;
          if (image_info_00->scenes != (char *)0x0) {
            *image_info_00->scenes = '\0';
          }
        }
        source_00 = image_info_00->filename;
        var_44(filename,source_00,0x1000);
        var_45(source_00);
        uVar15 = (-(type_8)(image_info_00->antialias == var_4) & 0xfffffffd) + 4;
        format = var_46(var_37);
        var_35(command,0x1000,format,(type_6)uVar15,(type_6)uVar15,var_22,pcVar12,
                           source_00,input_filename);
        var_15(pcVar12);
        var_15(var_22);
        var_47(var_4,image_info_00->verbose,command,(char *)0x0,var_6);
        var_51 = var_48(image_info_00,var_6);
        var_49(source_00);
        var_49(input_filename);
        var_50(image_info_00);
        if (var_51 == (type_1 *)0x0) {
          var_14
                    (var_6,"coders/pcl.c","ReadPCLImage",0x172,DelegateError,"PCLDelegateFailed"
                     ,"`%s\'",source);
          var_51 = (type_1 *)0x0;
        }
        else {
          var_21 = var_52(var_51->magick,"BMP");
          if ((var_21 == 0) &&
             (var_54 = var_53(var_51,var_6), var_54 != (type_1 *)0x0)) {
            var_10(var_51);
            var_51 = var_54;
          }
          do {
            var_54 = var_51;
            var_44(var_54->filename,filename,0x1000);
            (var_54->page).width = page.width;
            (var_54->page).height = page.height;
            (var_54->page).x = page.x;
            (var_54->page).y = page.y;
            var_51 = var_55(var_54);
          } while (var_51 != (type_1 *)0x0);
          var_51 = var_56(var_54);
        }
      }
    }
  }
  if (var_57 != *(long *)(var_1 + 0x28)) {
                    /* WARNING: Subroutine does not return */
    var_58();
  }
  return var_51;
}


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

undefined8 MASKED(long param_1,long param_2)

{
  long lVar1;
  int iVar2;
  int iVar3;
  long lVar4;
  ulong uVar5;
  int *piVar6;
  ulong uVar7;
  long lVar8;
  undefined8 uVar9;
  undefined8 uVar10;
  long lVar11;
  undefined8 uVar12;
  char *pcVar13;
  char *pcVar14;
  long in_FS_OFFSET;
  bool bVar15;
  double dVar16;
  ulong local_4098;
  ulong local_4090;
  undefined8 local_4088;
  undefined8 local_4080;
  double local_4078;
  double local_4070;
  double local_4068;
  double local_4060 [3];
  char local_4048 [4096];
  undefined1 local_3048 [4096];
  undefined1 local_2048 [4096];
  undefined1 local_1048 [4104];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcl.c",0xc6,"ReadPCLImage");
  }
  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcl.c",199,"ReadPCLImage");
  }
  if (*(int *)(param_1 + 0x3270) != 0) {
    LogMagickEvent(0x8000,"coders/pcl.c","ReadPCLImage",0xc9,&DAT_0041fe36,param_1 + 0x2270);
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcl.c",0xcb,"ReadPCLImage");
  }
  if (*(long *)(param_2 + 0x30) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/pcl.c",0xcc,"ReadPCLImage");
  }
  lVar4 = AcquireImage(param_1,param_2);
  iVar2 = OpenBlob(param_1,lVar4,2,param_2);
  if (iVar2 == 0) {
    DestroyImageList(lVar4);
    uVar9 = 0;
  }
  else {
    lVar1 = param_1 + 0x2270;
    iVar2 = AcquireUniqueSymbolicLink(lVar1,local_1048);
    if (iVar2 == 0) {
      piVar6 = __errno_location();
      uVar9 = GetExceptionMessage(*piVar6);
      ThrowMagickException
                (param_2,"coders/pcl.c","ReadPCLImage",0xdb,0x1ae,"UnableToCreateTemporaryFile",
                 "\'%s\': %s",lVar1,uVar9);
      DestroyString(uVar9);
      DestroyImageList(lVar4);
      uVar9 = 0;
    }
    else {
      if ((*(double *)(lVar4 + 0x248) == 0.0) || (*(double *)(lVar4 + 0x250) == 0.0)) {
        uVar5 = ParseGeometry("72.0x72.0",&local_4078);
        *(double *)(lVar4 + 0x248) = local_4078;
        if ((uVar5 & 8) == 0) {
          *(double *)(lVar4 + 0x250) = local_4078;
        }
        else {
          *(double *)(lVar4 + 0x250) = local_4070;
        }
      }
      bVar15 = *(int *)(lVar4 + 4) == 2;
      local_4078 = 0.0;
      local_4070 = 0.0;
      local_4068 = 0.0;
      local_4060[0] = 0.0;
      local_4098 = 0;
      local_4090 = 0;
      local_4088 = 0;
      local_4080 = 0;
      memset(local_4048,0,0x1000);
      iVar2 = ReadBlobByte(lVar4);
      if (iVar2 != -1) {
        iVar3 = 0;
        pcVar14 = local_4048;
        do {
          pcVar13 = pcVar14;
          if ((*(long *)(param_1 + 0x28) == 0) &&
             (((*pcVar14 = (char)iVar2, iVar2 == 0x2f || (iVar2 == 10)) ||
              (pcVar13 = pcVar14 + 1, 0xffe < (ulong)((long)pcVar13 - (long)local_4048))))) {
            pcVar14[1] = '\0';
            iVar2 = LocaleNCompare("DeviceCMYK",local_4048,10);
            if (iVar2 == 0) {
              bVar15 = true;
            }
            iVar2 = LocaleNCompare("CropBox",local_4048,7);
            if (iVar2 == 0) {
              iVar2 = sscanf(local_4048,"CropBox [%lf %lf %lf %lf",&local_4078,&local_4070,
                             &local_4068,local_4060);
              if (iVar2 != 4) {
                iVar3 = sscanf(local_4048,"CropBox[%lf %lf %lf %lf",&local_4078,&local_4070,
                               &local_4068,local_4060);
                goto LAB_00387fa1;
              }
              iVar2 = LocaleNCompare("MediaBox",local_4048,8);
              if (iVar2 == 0) goto LAB_0038807b;
            }
            else {
LAB_00387fa1:
              iVar2 = LocaleNCompare("MediaBox",local_4048,8);
              if (iVar2 == 0) {
LAB_0038807b:
                iVar2 = sscanf(local_4048,"MediaBox [%lf %lf %lf %lf",&local_4078,&local_4070,
                               &local_4068,local_4060);
                if (iVar2 == 4) goto LAB_003880b0;
                iVar3 = sscanf(local_4048,"MediaBox[%lf %lf %lf %lf",&local_4078,&local_4070,
                               &local_4068,local_4060);
              }
              pcVar13 = local_4048;
              if (iVar3 != 4) goto LAB_00387fd6;
            }
LAB_003880b0:
            dVar16 = (local_4068 - local_4078) + DAT_003f9c28;
            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {
              dVar16 = (double)((ulong)((double)(long)dVar16 -
                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &
                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16
                               );
            }
            if (DAT_003f9c40 <= dVar16) {
              uVar5 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;
            }
            else {
              uVar5 = (ulong)dVar16;
            }
            dVar16 = (local_4060[0] - local_4070) + DAT_003f9c28;
            if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {
              dVar16 = (double)((ulong)((double)(long)dVar16 -
                                       (double)(-(ulong)(dVar16 < (double)(long)dVar16) &
                                               (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16
                               );
            }
            if (DAT_003f9c40 <= dVar16) {
              uVar7 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;
            }
            else {
              uVar7 = (ulong)dVar16;
            }
            if (local_4098 < uVar5) {
              local_4098 = uVar5;
            }
            if (local_4090 < uVar7) {
              iVar3 = 4;
              pcVar13 = local_4048;
              local_4090 = uVar7;
            }
            else {
              iVar3 = 4;
              pcVar13 = local_4048;
            }
          }
LAB_00387fd6:
          iVar2 = ReadBlobByte(lVar4);
          pcVar14 = pcVar13;
        } while (iVar2 != -1);
      }
      CloseBlob(lVar4);
      if ((local_4098 == 0) || (local_4090 == 0)) {
        ParseAbsoluteGeometry("612x792",&local_4098);
      }
      if (*(long *)(param_1 + 0x28) != 0) {
        ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);
      }
      FormatLocaleString((double)local_4098,(double)local_4090,local_2048,0x1000,"%.20gx%.20g");
      if (*(int *)(param_1 + 0x204) == 0) {
        if (bVar15) {
          lVar8 = GetDelegateInfo("pcl:cmyk",0,param_2);
        }
        else {
          lVar8 = GetDelegateInfo("pcl:color",0,param_2);
        }
      }
      else {
        lVar8 = GetDelegateInfo("pcl:mono",0,param_2);
      }
      if (lVar8 == 0) {
        DestroyImage(lVar4);
        uVar9 = 0;
      }
      else {
        if ((local_4098 == 0) || (local_4090 == 0)) {
          ParseAbsoluteGeometry("612x792",&local_4098);
        }
        if (*(long *)(param_1 + 0x28) != 0) {
          ParseAbsoluteGeometry(*(long *)(param_1 + 0x28),&local_4098);
        }
        uVar9 = AcquireString(&DAT_00473ecb);
        uVar10 = AcquireString(&DAT_00473ecb);
        FormatLocaleString(*(undefined8 *)(lVar4 + 0x248),*(undefined8 *)(lVar4 + 0x250),uVar9,
                           0x1000,"%gx%g");
        dVar16 = ((double)local_4098 * *(double *)(lVar4 + 0x248)) / DAT_003f9c20 + DAT_003f9c28;
        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {
          dVar16 = (double)((ulong)((double)(long)dVar16 -
                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &
                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);
        }
        if (DAT_003f9c40 <= dVar16) {
          local_4098 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;
        }
        else {
          local_4098 = (ulong)dVar16;
        }
        dVar16 = ((double)local_4090 * *(double *)(lVar4 + 0x250)) / DAT_003f9c20 + DAT_003f9c28;
        if ((double)((ulong)dVar16 & DAT_003f9c70) < DAT_003f9c30) {
          dVar16 = (double)((ulong)((double)(long)dVar16 -
                                   (double)(-(ulong)(dVar16 < (double)(long)dVar16) &
                                           (ulong)DAT_003f9608)) | ~DAT_003f9c70 & (ulong)dVar16);
        }
        if (DAT_003f9c40 <= dVar16) {
          local_4090 = (long)(dVar16 - DAT_003f9c40) ^ 0x8000000000000000;
        }
        else {
          local_4090 = (ulong)dVar16;
        }
        FormatLocaleString((double)local_4098,(double)local_4090,uVar10,0x1000,"-g%.20gx%.20g ");
        DestroyImage(lVar4);
        lVar11 = CloneImageInfo(param_1);
        *(undefined1 *)(lVar11 + 0x270) = 0;
        lVar4 = *(long *)(lVar11 + 0x40);
        if (lVar4 != 0) {
          if (lVar4 == 1) {
            FormatLocaleString((double)*(ulong *)(lVar11 + 0x38) + DAT_003f9608,
                               (double)(*(ulong *)(lVar11 + 0x38) + 1),uVar10,0x1000,
                               "-dFirstPage=%.20g -dLastPage=%.20g");
          }
          else {
            FormatLocaleString((double)(ulong)(lVar4 + *(long *)(lVar11 + 0x38)),uVar10,0x1000,
                               "-dLastPage=%.20g");
          }
          *(undefined8 *)(lVar11 + 0x40) = 0;
          if (*(undefined1 **)(lVar11 + 0x30) != (undefined1 *)0x0) {
            **(undefined1 **)(lVar11 + 0x30) = 0;
          }
        }
        lVar4 = lVar11 + 0x2270;
        CopyMagickString(local_3048,lVar4,0x1000);
        AcquireUniqueFilename(lVar4);
        iVar2 = (-(uint)(*(int *)(lVar11 + 0x14) == 0) & 0xfffffffd) + 4;
        uVar12 = GetDelegateCommands(lVar8);
        FormatLocaleString(local_4048,0x1000,uVar12,iVar2,iVar2,uVar9,uVar10,lVar4,local_1048);
        DestroyString(uVar10);
        DestroyString(uVar9);
        ExternalDelegateCommand(0,*(undefined4 *)(lVar11 + 0x218),local_4048,0,param_2);
        lVar8 = ReadImage(lVar11,param_2);
        RelinquishUniqueFileResource(lVar4);
        RelinquishUniqueFileResource(local_1048);
        DestroyImageInfo(lVar11);
        if (lVar8 == 0) {
          ThrowMagickException
                    (param_2,"coders/pcl.c","ReadPCLImage",0x172,0x19f,"PCLDelegateFailed","`%s\'",
                     lVar1);
          uVar9 = 0;
        }
        else {
          iVar2 = LocaleCompare(lVar8 + 0x23f8,&DAT_00432dc6);
          if ((iVar2 == 0) && (lVar4 = ConsolidateCMYKImages(lVar8,param_2), lVar4 != 0)) {
            DestroyImageList(lVar8);
            lVar8 = lVar4;
          }
          do {
            lVar4 = lVar8;
            CopyMagickString(lVar4 + 0x3f8,local_3048,0x1000);
            *(ulong *)(lVar4 + 600) = local_4098;
            *(ulong *)(lVar4 + 0x260) = local_4090;
            *(undefined8 *)(lVar4 + 0x268) = local_4088;
            *(undefined8 *)(lVar4 + 0x270) = local_4080;
            lVar8 = SyncNextImageInList(lVar4);
          } while (lVar8 != 0);
          uVar9 = GetFirstImageInList(lVar4);
        }
      }
    }
  }
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return uVar9;
}

