
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogEventType": Some values do not have unique names */

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

{
  int iVar1;
  ClassType CVar2;
  PixelChannelMap *pPVar3;
  PixelInfo *pPVar4;
  char cVar5;
  float fVar6;
  int iVar7;
  uint uVar8;
  Image *pIVar9;
  ssize_t sVar10;
  MagickBooleanType MVar11;
  byte *pbVar12;
  int *piVar13;
  size_t sVar14;
  byte *pbVar15;
  MemoryInfo *memory_info;
  undefined1 *__s;
  int iVar16;
  undefined1 *puVar17;
  Quantum *pQVar18;
  uint uVar19;
  byte *pbVar20;
  MagickRealType *pMVar21;
  void *memory;
  byte bVar22;
  undefined1 *puVar23;
  byte *pbVar24;
  size_t sVar25;
  byte bVar26;
  uint uVar27;
  byte *pbVar28;
  uint uVar29;
  undefined1 *puVar30;
  uint *puVar31;
  size_t sVar32;
  int in_GS_OFFSET;
  bool bVar33;
  byte bVar34;
  MagickOffsetType MVar35;
  MagickSizeType MVar36;
  ExceptionType EVar37;
  char *pcVar38;
  Image *local_378;
  size_t local_370;
  MemoryInfo *local_36c;
  void *local_364;
  uint *local_360;
  MemoryInfo *local_358;
  MagickBooleanType local_350;
  uint local_34c;
  int local_348;
  int local_344;
  PCXInfo pcx_info;
  uchar pcx_colormap [768];
  
  bVar34 = 0;
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  if (image_info == (ImageInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");
  }
  if (image_info->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"
                 );
  }
  if (image_info->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"coders/pcx.c","ReadPCXImage",0x10e,"%s",image_info->filename);
  }
  if (exception == (ExceptionInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");
  }
  if (exception->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")
    ;
  }
  local_378 = AcquireImage(image_info,exception);
  local_350 = OpenBlob(image_info,local_378,ReadBinaryBlobMode,exception);
  if (local_350 == MagickFalse) {
    DestroyImageList(local_378);
    pIVar9 = (Image *)0x0;
    goto LAB_002690c4;
  }
  iVar7 = LocaleCompare(image_info->magick,"DCX");
  if (iVar7 == 0) {
    uVar8 = ReadBlobLSBLong(local_378);
    if (uVar8 == 0x3ade68b1) {
      local_360 = (uint *)AcquireQuantumMemory(0x400,8);
      puVar31 = local_360;
      if (local_360 == (uint *)0x0) {
        pcVar38 = "MemoryAllocationFailed";
        EVar37 = ErrorException;
        sVar14 = 0x12d;
LAB_0026a2c8:
        ThrowMagickException
                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",
                   image_info->filename);
      }
      else {
        do {
          uVar8 = ReadBlobLSBLong(local_378);
          puVar31[1] = 0;
          *puVar31 = uVar8;
          if (uVar8 == 0) break;
          puVar31 = puVar31 + 2;
        } while (puVar31 != local_360 + 0x800);
        MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);
        if (-1 < MVar35) goto LAB_0026919c;
        RelinquishMagickMemory(local_360);
        ThrowMagickException
                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,
                   "ImproperImageHeader","`%s\'",image_info->filename);
      }
    }
    else {
      ThrowMagickException
                (exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,
                 "ImproperImageHeader","`%s\'",image_info->filename);
    }
    if (local_378 != (Image *)0x0) {
LAB_002690b2:
      CloseBlob(local_378);
      DestroyImageList(local_378);
    }
    pIVar9 = (Image *)0x0;
  }
  else {
    local_360 = (uint *)0x0;
LAB_0026919c:
    sVar10 = ReadBlob(local_378,1,&pcx_info);
    local_364 = (void *)0x0;
    local_344 = 1;
    local_36c = (MemoryInfo *)0x0;
    do {
      iVar7 = ReadBlobByte(local_378);
      pcx_info.version = (uchar)iVar7;
      if ((sVar10 != 1) || (pcx_info.identifier != '\n')) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x146;
        goto LAB_0026a2c8;
      }
      iVar7 = ReadBlobByte(local_378);
      pcx_info.encoding = (uchar)iVar7;
      iVar7 = ReadBlobByte(local_378);
      if (iVar7 == -1) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x14a;
        goto LAB_0026a2c8;
      }
      pcx_info.bits_per_pixel = (uchar)iVar7;
      pcx_info.left = ReadBlobLSBShort(local_378);
      pcx_info.top = ReadBlobLSBShort(local_378);
      pcx_info.right = ReadBlobLSBShort(local_378);
      pcx_info.bottom = ReadBlobLSBShort(local_378);
      pcx_info.horizontal_resolution = ReadBlobLSBShort(local_378);
      pcx_info.vertical_resolution = ReadBlobLSBShort(local_378);
      iVar7 = EOFBlob(local_378);
      if (iVar7 != 0) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "UnexpectedEndOfFile";
        EVar37 = CorruptImageError;
        sVar14 = 0x153;
        goto LAB_0026a2c8;
      }
      if (((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||
         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))))
      {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x15a;
        goto LAB_0026a2c8;
      }
      sVar14 = ((uint)pcx_info.right - (uint)pcx_info.left) + 1;
      sVar32 = ((uint)pcx_info.bottom - (uint)pcx_info.top) + 1;
      local_378->depth = (uint)pcx_info.bits_per_pixel;
      local_378->columns = sVar14;
      (local_378->resolution).x = (double)pcx_info.horizontal_resolution;
      local_378->rows = sVar32;
      local_378->units = PixelsPerInchResolution;
      (local_378->resolution).y = (double)pcx_info.vertical_resolution;
      local_378->colors = 0x10;
      if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&
         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))
      goto LAB_0026aa7e;
      MVar36 = GetBlobSize(local_378);
      if (((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff)) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "InsufficientImageDataInFile";
        EVar37 = CorruptImageError;
        sVar14 = 0x166;
LAB_00269ff0:
        ThrowMagickException
                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",
                   image_info->filename);
        goto LAB_002690b2;
      }
      local_350 = SetImageExtent(local_378,local_378->columns,local_378->rows,exception);
      if (local_350 == MagickFalse) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = exception->reason;
        if (exception->reason == (char *)0x0) {
          pcVar38 = "unknown";
        }
        EVar37 = exception->severity;
        sVar14 = 0x169;
        goto LAB_00269ff0;
      }
      SetImageBackgroundColor(local_378,exception);
      pbVar15 = pcx_colormap;
      for (iVar7 = 0xc0; iVar7 != 0; iVar7 = iVar7 + -1) {
        pbVar15[0] = 0;
        pbVar15[1] = 0;
        pbVar15[2] = 0;
        pbVar15[3] = 0;
        pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;
      }
      sVar10 = ReadBlob(local_378,local_378->colors * 3,pcx_colormap);
      if (local_378->colors * 3 != sVar10) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x16e;
        goto LAB_00269ff0;
      }
      iVar7 = ReadBlobByte(local_378);
      pcx_info.reserved = (uchar)iVar7;
      uVar8 = ReadBlobByte(local_378);
      pcx_info.planes = (uchar)uVar8;
      if (pcx_info.planes == 0) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x172;
        goto LAB_00269ff0;
      }
      if (6 < pcx_info.planes) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x174;
        goto LAB_00269ff0;
      }
      uVar8 = (uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel;
      if (0x3f < uVar8) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x176;
        goto LAB_00269ff0;
      }
      if (((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&
         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))) {
        sVar14 = 1 << ((byte)uVar8 & 0x1f);
        if (0x100 < sVar14) {
          sVar14 = 0x100;
        }
        local_378->colors = sVar14;
      }
      else {
        sVar14 = local_378->colors;
      }
      MVar11 = AcquireImageColormap(local_378,sVar14,exception);
      if (MVar11 == MagickFalse) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "MemoryAllocationFailed";
        EVar37 = ErrorException;
        sVar14 = 0x17e;
        goto LAB_00269ff0;
      }
      if ((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')) {
        local_378->storage_class = DirectClass;
      }
      fVar6 = DAT_002e814c;
      sVar14 = local_378->colors;
      if (0 < (int)sVar14) {
        pbVar15 = pcx_colormap;
        pMVar21 = &local_378->colormap->red;
        do {
          pbVar12 = pbVar15 + 3;
          *pMVar21 = (double)((float)*pbVar15 * fVar6);
          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);
          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);
          pbVar15 = pbVar12;
          pMVar21 = pMVar21 + 10;
        } while (pbVar12 != pcx_colormap + sVar14 * 3);
      }
      pcx_info.bytes_per_line = ReadBlobLSBShort(local_378);
      pcx_info.palette_info = ReadBlobLSBShort(local_378);
      pcx_info.horizontal_screensize = ReadBlobLSBShort(local_378);
      pcx_info.vertical_screensize = ReadBlobLSBShort(local_378);
      iVar7 = 0x36;
      do {
        ReadBlobByte(local_378);
        iVar7 = iVar7 + -1;
      } while (iVar7 != 0);
      uVar29 = (uint)pcx_info.bytes_per_line;
      uVar8 = local_378->rows;
      if ((uVar8 == 0) || (uVar29 == 0)) {
LAB_0026963a:
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x192;
        goto LAB_00269ff0;
      }
      uVar27 = uVar29 * uVar8;
      if (uVar29 != uVar27 / uVar8) {
        piVar13 = __errno_location();
        *piVar13 = 0xc;
        goto LAB_0026963a;
      }
      uVar8 = (uint)pcx_info.planes;
      if ((uVar27 == 0) || (uVar8 == 0)) {
LAB_002696ee:
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x194;
        goto LAB_00269ff0;
      }
      uVar29 = uVar8 * uVar27;
      if (uVar8 != uVar29 / uVar27) {
        piVar13 = __errno_location();
        *piVar13 = 0xc;
        goto LAB_002696ee;
      }
      uVar8 = pcx_info.bits_per_pixel * uVar8 * local_378->columns;
      if (uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x196;
        goto LAB_00269ff0;
      }
      MVar36 = GetBlobSize(local_378);
      if ((MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80)) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x198;
        goto LAB_00269ff0;
      }
      sVar14 = (size_t)pcx_info.planes;
      if (pcx_info.planes < 8) {
        sVar14 = 8;
      }
      uVar8 = (uint)pcx_info.bytes_per_line;
      if ((uint)pcx_info.bytes_per_line < local_378->columns) {
        uVar8 = local_378->columns;
      }
      pbVar15 = (byte *)AcquireQuantumMemory(uVar8,sVar14);
      memory_info = AcquireVirtualMemory(uVar29,2);
      if ((pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0)) {
        if (pbVar15 == (byte *)0x0) {
          if (memory_info != (MemoryInfo *)0x0) {
            local_358 = RelinquishVirtualMemory(memory_info);
            goto LAB_0026ab65;
          }
        }
        else {
          memory = RelinquishMagickMemory(pbVar15);
          if (memory_info == (MemoryInfo *)0x0) {
            local_358 = (MemoryInfo *)0x0;
            if (memory == (void *)0x0) goto LAB_0026ab7d;
          }
          else {
            local_358 = RelinquishVirtualMemory(memory_info);
            if (memory == (void *)0x0) goto LAB_0026ab65;
          }
          RelinquishMagickMemory(memory);
LAB_0026ab65:
          if (local_358 != (MemoryInfo *)0x0) {
            RelinquishVirtualMemory(local_358);
          }
        }
LAB_0026ab7d:
        if (local_360 != (uint *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar38 = "MemoryAllocationFailed";
        EVar37 = ErrorException;
        sVar14 = 0x1a3;
        goto LAB_00269ff0;
      }
      uVar8 = local_378->columns;
      if (local_378->columns <= (uint)pcx_info.bytes_per_line) {
        uVar8 = (uint)pcx_info.bytes_per_line;
      }
      uVar27 = (uint)pcx_info.planes;
      if (pcx_info.planes < 8) {
        uVar27 = 8;
      }
      memset(pbVar15,0,uVar8 * uVar27);
      __s = (undefined1 *)GetVirtualMemoryBlob(memory_info);
      memset(__s,0,uVar29 * 2);
      puVar30 = __s;
      if (pcx_info.encoding == '\0') {
        for (; uVar29 != 0; uVar29 = uVar29 - 1) {
          iVar7 = ReadBlobByte(local_378);
          iVar16 = EOFBlob(local_378);
          if (iVar16 != 0) {
            RelinquishMagickMemory(pbVar15);
            RelinquishVirtualMemory(memory_info);
            if (local_360 != (uint *)0x0) {
              RelinquishMagickMemory(local_360);
            }
            pcVar38 = "UnexpectedEndOfFile";
            EVar37 = CorruptImageError;
            sVar14 = 0x1b2;
            goto LAB_00269ff0;
          }
          local_370._0_1_ = (undefined1)iVar7;
          *puVar30 = (undefined1)local_370;
          puVar30 = puVar30 + 1;
        }
      }
      else {
        for (; uVar29 != 0; uVar29 = uVar29 - 1) {
          while( true ) {
            uVar8 = ReadBlobByte(local_378);
            iVar7 = EOFBlob(local_378);
            if (iVar7 != 0) {
              RelinquishMagickMemory(pbVar15);
              RelinquishVirtualMemory(memory_info);
              if (local_360 != (uint *)0x0) {
                RelinquishMagickMemory(local_360);
              }
              pcVar38 = "UnexpectedEndOfFile";
              EVar37 = CorruptImageError;
              sVar14 = 0x1bb;
              goto LAB_00269ff0;
            }
            if ((uVar8 & 0xc0) != 0xc0) break;
            iVar7 = ReadBlobByte(local_378);
            iVar16 = EOFBlob(local_378);
            if (iVar16 != 0) {
              RelinquishMagickMemory(pbVar15);
              RelinquishVirtualMemory(memory_info);
              if (local_360 != (uint *)0x0) {
                RelinquishMagickMemory(local_360);
              }
              pcVar38 = "UnexpectedEndOfFile";
              EVar37 = CorruptImageError;
              sVar14 = 0x1c5;
              goto LAB_00269ff0;
            }
            if ((uVar8 & 0x3f) != 0) {
              uVar29 = uVar29 - 1;
              *puVar30 = (char)iVar7;
              if (uVar29 == 0) goto LAB_00269a7c;
              puVar23 = puVar30 + (uVar8 & 0x3f);
              puVar17 = puVar30;
              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {
                uVar29 = uVar29 - 1;
                *puVar17 = (char)iVar7;
                if (uVar29 == 0) goto LAB_00269a7c;
              }
            }
          }
          *puVar30 = (char)uVar8;
          puVar30 = puVar30 + 1;
        }
      }
LAB_00269a7c:
      if (local_378->storage_class == DirectClass) {
        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;
      }
      else if (pcx_info.version == '\x05') {
        if (0x100 < local_378->colors) {
LAB_0026aaa4:
          RelinquishMagickMemory(pbVar15);
          RelinquishVirtualMemory(memory_info);
          if (local_360 != (uint *)0x0) {
            RelinquishMagickMemory(local_360);
          }
          pcVar38 = "ColormapExceeds256Colors";
          EVar37 = CorruptImageError;
          sVar14 = 0x1d9;
          goto LAB_00269ff0;
        }
        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;
        if (0x10 < local_378->colors) {
          iVar7 = ReadBlobByte(local_378);
          pcx_info.colormap_signature = (uchar)iVar7;
          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);
          fVar6 = DAT_002e814c;
          sVar14 = local_378->colors;
          if (0 < (int)sVar14) {
            pMVar21 = &local_378->colormap->red;
            pbVar12 = pcx_colormap;
            do {
              pbVar20 = pbVar12 + 3;
              *pMVar21 = (double)((float)*pbVar12 * fVar6);
              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);
              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);
              pMVar21 = pMVar21 + 10;
              pbVar12 = pbVar20;
            } while (pbVar20 != pcx_colormap + sVar14 * 3);
          }
        }
      }
      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {
        if (0x100 < local_378->colors) goto LAB_0026aaa4;
LAB_0026a31e:
        pPVar4 = local_378->colormap;
        pPVar4->red = 0.0;
        pPVar4->green = 0.0;
        pPVar4->blue = 0.0;
        fVar6 = DAT_002df8a8;
        pPVar4[1].red = (double)DAT_002df8a8;
        pPVar4[1].green = (double)fVar6;
        pPVar4[1].blue = (double)fVar6;
      }
      local_364 = (void *)0x0;
      local_34c = 0;
      local_348 = 0;
      if (0 < (int)local_378->rows) {
        do {
          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;
          pQVar18 = QueueAuthenticPixels
                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);
          if (pQVar18 == (Quantum *)0x0) break;
          uVar8 = (uint)pcx_info.planes;
          if (local_378->storage_class == DirectClass) {
            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {
              pbVar20 = pbVar15;
              do {
                pbVar28 = pbVar12 + pcx_info.bytes_per_line;
                pbVar24 = pbVar20;
                do {
                  bVar22 = *pbVar12;
                  pbVar12 = pbVar12 + 1;
                  *pbVar24 = bVar22;
                  pbVar24 = pbVar24 + uVar8;
                } while (pbVar28 != pbVar12);
                pbVar20 = pbVar20 + 1;
                pbVar12 = pbVar28;
              } while (pbVar20 != pbVar15 + uVar8);
            }
LAB_00269be4:
            local_370 = local_378->columns;
          }
          else {
            local_370 = local_378->columns;
            if (1 < pcx_info.planes) {
              if (0 < (int)local_370) {
                iVar7 = 0;
                do {
                  pbVar15[iVar7] = 0;
                  iVar7 = iVar7 + 1;
                } while (iVar7 < (int)local_378->columns);
              }
              uVar29 = (uint)pcx_info.bytes_per_line;
              if (uVar29 != 0) {
                uVar27 = 0;
                do {
                  uVar19 = 0;
                  do {
                    bVar22 = pbVar12[uVar19];
                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));
                    if ((char)bVar22 < '\0') {
                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;
                    }
                    if ((bVar22 & 0x40) != 0) {
                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;
                    }
                    if ((bVar22 & 0x20) != 0) {
                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;
                    }
                    if ((bVar22 & 0x10) != 0) {
                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;
                    }
                    if ((bVar22 & 8) != 0) {
                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;
                    }
                    if ((bVar22 & 4) != 0) {
                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;
                    }
                    if ((bVar22 & 2) != 0) {
                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;
                    }
                    if ((bVar22 & 1) != 0) {
                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;
                    }
                    uVar19 = uVar19 + 1;
                  } while (uVar19 != uVar29);
                  pbVar12 = pbVar12 + uVar29;
                  uVar27 = uVar27 + 1;
                } while (uVar27 != uVar8);
              }
              goto LAB_00269be4;
            }
            if (pcx_info.bits_per_pixel == '\x02') {
              pbVar20 = pbVar15;
              pbVar28 = pbVar15;
              pbVar24 = pbVar12;
              if (3 < (int)local_370) {
                do {
                  pbVar20 = pbVar28 + 4;
                  pbVar12 = pbVar24 + 1;
                  *pbVar28 = *pbVar24 >> 6;
                  pbVar28[1] = *pbVar24 >> 4 & 3;
                  pbVar28[2] = *pbVar24 >> 2 & 3;
                  pbVar28[3] = *pbVar24 & 3;
                  local_370 = local_378->columns;
                  pbVar28 = pbVar20;
                  pbVar24 = pbVar12;
                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));
              }
              if ((local_370 & 3) != 0) {
                iVar7 = 3;
                do {
                  cVar5 = (char)iVar7;
                  iVar7 = iVar7 + -1;
                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;
                  local_370 = local_378->columns;
                  pbVar20 = pbVar20 + 1;
                } while ((int)(4 - (local_370 & 3)) <= iVar7);
              }
            }
            else if (pcx_info.bits_per_pixel < 3) {
              if (pcx_info.bits_per_pixel == '\x01') {
                pbVar20 = pbVar15;
                pbVar28 = pbVar15;
                pbVar24 = pbVar12;
                if (7 < (int)local_370) {
                  do {
                    pbVar20 = pbVar28 + 8;
                    pbVar12 = pbVar24 + 1;
                    *pbVar28 = *pbVar24 >> 7 ^ 1;
                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;
                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;
                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;
                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;
                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;
                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;
                    pbVar28[7] = ~*pbVar24 & 1;
                    local_370 = local_378->columns;
                    pbVar28 = pbVar20;
                    pbVar24 = pbVar12;
                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));
                }
                if ((local_370 & 7) != 0) {
                  iVar7 = 7;
                  do {
                    bVar22 = (byte)iVar7;
                    iVar7 = iVar7 + -1;
                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;
                    local_370 = local_378->columns;
                    pbVar20 = pbVar20 + 1;
                  } while ((int)(8 - (local_370 & 7)) <= iVar7);
                }
              }
            }
            else if (pcx_info.bits_per_pixel == '\x04') {
              pbVar20 = pbVar15;
              pbVar28 = pbVar15;
              pbVar24 = pbVar12;
              if (1 < (int)local_370) {
                do {
                  pbVar20 = pbVar28 + 2;
                  pbVar12 = pbVar24 + 1;
                  *pbVar28 = *pbVar24 >> 4;
                  pbVar28[1] = *pbVar24 & 0xf;
                  local_370 = local_378->columns;
                  pbVar28 = pbVar20;
                  pbVar24 = pbVar12;
                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));
              }
              if ((local_370 & 1) != 0) {
                *pbVar20 = *pbVar12 >> 4;
                goto LAB_00269be4;
              }
            }
            else if (pcx_info.bits_per_pixel == '\b') {
              memcpy(pbVar15,pbVar12,local_370);
              local_370 = local_378->columns;
            }
          }
          fVar6 = DAT_002e814c;
          if (0 < (int)local_370) {
            sVar25 = 0;
            sVar14 = local_378->number_channels;
            CVar2 = local_378->storage_class;
            pPVar3 = local_378->channel_map;
            pbVar12 = pbVar15;
            do {
              while( true ) {
                if (CVar2 == PseudoClass) break;
                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);
                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);
                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);
                if (local_378->alpha_trait == UndefinedPixelTrait) {
                  pbVar20 = pbVar12 + 3;
                }
                else {
                  pbVar20 = pbVar12 + 4;
                  if (pPVar3[4].traits != UndefinedPixelTrait) {
                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);
                  }
                }
LAB_00269c86:
                pQVar18 = pQVar18 + sVar14;
                sVar25 = sVar25 + 1;
                pbVar12 = pbVar20;
                if (sVar25 == local_370) goto LAB_00269cce;
              }
              pbVar20 = pbVar12 + 1;
              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;
              sVar25 = sVar25 + 1;
              pQVar18[pPVar3[5].offset] = (double)*pbVar12;
              pQVar18 = pQVar18 + sVar14;
              pbVar12 = pbVar20;
            } while (sVar25 != local_370);
          }
LAB_00269cce:
          MVar11 = SyncAuthenticPixels(local_378,exception);
          if (MVar11 == MagickFalse) break;
          uVar8 = local_378->rows;
          if (local_378->previous == (_Image *)0x0) {
            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),
                                         (ulonglong)uVar8);
            if (local_350 == MagickFalse) break;
            uVar8 = local_378->rows;
          }
          local_364 = (void *)((int)local_364 + 1);
          bVar33 = 0xfffffffe < local_34c;
          local_34c = local_34c + 1;
          local_348 = local_348 + (uint)bVar33;
        } while ((int)local_364 < (int)uVar8);
      }
      if (local_378->storage_class == PseudoClass) {
        SyncImage(local_378,exception);
      }
      local_364 = RelinquishMagickMemory(pbVar15);
      local_36c = RelinquishVirtualMemory(memory_info);
      iVar7 = EOFBlob(local_378);
      if (iVar7 != 0) {
        piVar13 = __errno_location();
        pcVar38 = GetExceptionMessage(*piVar13);
        ThrowMagickException
                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,
                   "UnexpectedEndOfFile","\'%s\': %s");
        DestroyString(pcVar38);
LAB_0026aa7e:
        if (local_360 == (uint *)0x0) goto LAB_0026a58c;
        break;
      }
      if ((image_info->number_scenes != 0) &&
         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))
      goto LAB_0026aa7e;
      if (local_360 == (uint *)0x0) goto LAB_0026a58c;
      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;
      MVar35 = SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)
      ;
      if (MVar35 < 0) {
        if (local_364 != (void *)0x0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != (MemoryInfo *)0x0) {
          RelinquishVirtualMemory(local_36c);
        }
        RelinquishMagickMemory(local_360);
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        sVar14 = 0x2a4;
        goto LAB_00269ff0;
      }
      sVar10 = ReadBlob(local_378,1,&pcx_info);
      if ((sVar10 != 0) && (pcx_info.identifier == '\n')) {
        AcquireNextImage(image_info,local_378,exception);
        pIVar9 = GetNextImageInList(local_378);
        if (pIVar9 == (Image *)0x0) {
          local_350 = MagickFalse;
          break;
        }
        local_378 = SyncNextImageInList(local_378);
        MVar36 = GetBlobSize(local_378);
        MVar35 = TellBlob(local_378);
        local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);
        if (local_350 == MagickFalse) break;
      }
      local_344 = local_344 + 1;
    } while (local_344 != 0x400);
    RelinquishMagickMemory(local_360);
LAB_0026a58c:
    CloseBlob(local_378);
    if (local_350 == MagickFalse) {
      pIVar9 = DestroyImageList(local_378);
    }
    else {
      pIVar9 = GetFirstImageInList(local_378);
    }
  }
LAB_002690c4:
  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return pIVar9;
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

undefined4 FUN_00268f70(int param_1,undefined4 *param_2)

{
  int iVar1;
  int iVar2;
  char cVar3;
  float fVar4;
  undefined1 uVar5;
  int iVar6;
  undefined4 uVar7;
  byte *pbVar8;
  int *piVar9;
  byte *pbVar10;
  undefined1 *__s;
  undefined1 *puVar11;
  int iVar12;
  uint uVar13;
  byte *pbVar14;
  double *pdVar15;
  byte bVar16;
  uint uVar17;
  undefined1 *puVar18;
  byte *pbVar19;
  int extraout_EDX;
  size_t sVar20;
  int extraout_EDX_00;
  byte bVar21;
  uint uVar22;
  byte *pbVar23;
  uint uVar24;
  undefined1 *puVar25;
  int iVar26;
  int in_GS_OFFSET;
  bool bVar27;
  byte bVar28;
  undefined8 uVar29;
  undefined8 uVar30;
  undefined4 uVar31;
  char *pcVar32;
  int *local_378;
  size_t local_370;
  int local_36c;
  int local_364;
  int *local_360;
  int local_358;
  int local_350;
  uint local_34c;
  int local_348;
  int local_344;
  char local_33c;
  char local_33b;
  char local_33a;
  byte local_339;
  ushort local_338;
  ushort local_336;
  ushort local_334;
  ushort local_332;
  ushort local_330;
  ushort local_32e;
  undefined1 local_32c;
  byte local_32b;
  ushort local_32a;
  undefined2 local_328;
  undefined2 local_326;
  undefined2 local_324;
  undefined1 local_322;
  byte local_320 [768];
  int local_20;
  
  bVar28 = 0;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"
                 );
  }
  if (*(int *)(param_1 + 0x31f0) != 0) {
    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);
  }
  if (param_2 == (undefined4 *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");
  }
  if (param_2[7] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")
    ;
  }
  local_378 = (int *)AcquireImage(param_1,param_2);
  local_350 = OpenBlob(param_1,local_378,2,param_2);
  if (local_350 == 0) {
    DestroyImageList(local_378);
    uVar7 = 0;
    goto LAB_002690c4;
  }
  iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);
  if (iVar6 == 0) {
    iVar6 = ReadBlobLSBLong(local_378);
    if (iVar6 == 0x3ade68b1) {
      local_360 = (int *)AcquireQuantumMemory(0x400,8);
      piVar9 = local_360;
      if (local_360 == (int *)0x0) {
        pcVar32 = "MemoryAllocationFailed";
        uVar31 = 400;
        uVar7 = 0x12d;
LAB_0026a2c8:
        ThrowMagickException
                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",
                   param_1 + 0x21f0);
      }
      else {
        do {
          iVar6 = ReadBlobLSBLong(local_378);
          piVar9[1] = 0;
          *piVar9 = iVar6;
          if (iVar6 == 0) break;
          piVar9 = piVar9 + 2;
        } while (piVar9 != local_360 + 0x800);
        SeekBlob(local_378,*local_360,local_360[1],0);
        if (-1 < extraout_EDX) goto LAB_0026919c;
        RelinquishMagickMemory(local_360);
        ThrowMagickException
                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",
                   param_1 + 0x21f0);
      }
    }
    else {
      ThrowMagickException
                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",
                 param_1 + 0x21f0);
    }
    if (local_378 != (int *)0x0) {
LAB_002690b2:
      CloseBlob(local_378);
      DestroyImageList(local_378);
    }
    uVar7 = 0;
  }
  else {
    local_360 = (int *)0x0;
LAB_0026919c:
    iVar6 = ReadBlob(local_378,1,&local_33c);
    local_364 = 0;
    local_344 = 1;
    local_36c = 0;
    do {
      local_33b = ReadBlobByte(local_378);
      if ((iVar6 != 1) || (local_33c != '\n')) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar31 = 0x1a9;
        uVar7 = 0x146;
        goto LAB_0026a2c8;
      }
      local_33a = ReadBlobByte(local_378);
      iVar6 = ReadBlobByte(local_378);
      if (iVar6 == -1) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar31 = 0x1a9;
        uVar7 = 0x14a;
        goto LAB_0026a2c8;
      }
      local_339 = (byte)iVar6;
      local_338 = ReadBlobLSBShort(local_378);
      local_336 = ReadBlobLSBShort(local_378);
      local_334 = ReadBlobLSBShort(local_378);
      local_332 = ReadBlobLSBShort(local_378);
      local_330 = ReadBlobLSBShort(local_378);
      local_32e = ReadBlobLSBShort(local_378);
      iVar6 = EOFBlob(local_378);
      if (iVar6 != 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "UnexpectedEndOfFile";
        uVar31 = 0x1a9;
        uVar7 = 0x153;
        goto LAB_0026a2c8;
      }
      if (((local_334 < local_338) || (local_332 < local_336)) ||
         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar31 = 0x1a9;
        uVar7 = 0x15a;
        goto LAB_0026a2c8;
      }
      iVar6 = ((uint)local_334 - (uint)local_338) + 1;
      iVar26 = ((uint)local_332 - (uint)local_336) + 1;
      local_378[8] = (uint)local_339;
      local_378[6] = iVar6;
      *(double *)(local_378 + 0x7c) = (double)local_330;
      local_378[7] = iVar26;
      local_378[0x77] = 1;
      *(double *)(local_378 + 0x7e) = (double)local_32e;
      local_378[9] = 0x10;
      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&
         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))
      goto LAB_0026aa7e;
      uVar29 = GetBlobSize(local_378);
      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))
      {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "InsufficientImageDataInFile";
        uVar7 = 0x1a9;
        uVar31 = 0x166;
LAB_00269ff0:
        ThrowMagickException
                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",
                   param_1 + 0x21f0);
        goto LAB_002690b2;
      }
      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);
      if (local_350 == 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = (char *)param_2[2];
        if ((char *)param_2[2] == (char *)0x0) {
          pcVar32 = "unknown";
        }
        uVar7 = *param_2;
        uVar31 = 0x169;
        goto LAB_00269ff0;
      }
      SetImageBackgroundColor(local_378,param_2);
      pbVar10 = local_320;
      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {
        pbVar10[0] = 0;
        pbVar10[1] = 0;
        pbVar10[2] = 0;
        pbVar10[3] = 0;
        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;
      }
      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);
      if (local_378[9] * 3 != iVar6) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x16e;
        goto LAB_00269ff0;
      }
      local_32c = ReadBlobByte(local_378);
      local_32b = ReadBlobByte(local_378);
      if (local_32b == 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x172;
        goto LAB_00269ff0;
      }
      if (6 < local_32b) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x174;
        goto LAB_00269ff0;
      }
      uVar17 = (uint)local_32b * (uint)local_339;
      if (0x3f < uVar17) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x176;
        goto LAB_00269ff0;
      }
      if (((local_32b == 1) || (local_339 != 8)) &&
         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {
        uVar17 = 1 << ((byte)uVar17 & 0x1f);
        if (0x100 < uVar17) {
          uVar17 = 0x100;
        }
        local_378[9] = uVar17;
      }
      else {
        uVar17 = local_378[9];
      }
      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);
      if (iVar6 == 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "MemoryAllocationFailed";
        uVar7 = 400;
        uVar31 = 0x17e;
        goto LAB_00269ff0;
      }
      if ((7 < local_339) && (local_32b != 1)) {
        *local_378 = 1;
      }
      fVar4 = DAT_002e814c;
      iVar6 = local_378[9];
      if (0 < iVar6) {
        pbVar10 = local_320;
        pdVar15 = (double *)(local_378[10] + 0x20);
        do {
          pbVar8 = pbVar10 + 3;
          *pdVar15 = (double)((float)*pbVar10 * fVar4);
          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);
          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);
          pbVar10 = pbVar8;
          pdVar15 = pdVar15 + 10;
        } while (pbVar8 != local_320 + iVar6 * 3);
      }
      local_32a = ReadBlobLSBShort(local_378);
      local_328 = ReadBlobLSBShort(local_378);
      local_326 = ReadBlobLSBShort(local_378);
      local_324 = ReadBlobLSBShort(local_378);
      iVar6 = 0x36;
      do {
        ReadBlobByte(local_378);
        iVar6 = iVar6 + -1;
      } while (iVar6 != 0);
      uVar24 = (uint)local_32a;
      uVar17 = local_378[7];
      if ((uVar17 == 0) || (uVar24 == 0)) {
LAB_0026963a:
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x192;
        goto LAB_00269ff0;
      }
      uVar22 = uVar24 * uVar17;
      if (uVar24 != uVar22 / uVar17) {
        piVar9 = __errno_location();
        *piVar9 = 0xc;
        goto LAB_0026963a;
      }
      uVar17 = (uint)local_32b;
      if ((uVar22 == 0) || (uVar17 == 0)) {
LAB_002696ee:
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x194;
        goto LAB_00269ff0;
      }
      uVar24 = uVar17 * uVar22;
      if (uVar17 != uVar24 / uVar22) {
        piVar9 = __errno_location();
        *piVar9 = 0xc;
        goto LAB_002696ee;
      }
      uVar17 = local_339 * uVar17 * local_378[6];
      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x196;
        goto LAB_00269ff0;
      }
      uVar29 = GetBlobSize(local_378);
      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x198;
        goto LAB_00269ff0;
      }
      bVar16 = local_32b;
      if (local_32b < 8) {
        bVar16 = 8;
      }
      uVar17 = (uint)local_32a;
      if ((uint)local_32a < (uint)local_378[6]) {
        uVar17 = local_378[6];
      }
      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);
      iVar6 = AcquireVirtualMemory(uVar24,2);
      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {
        if (pbVar10 == (byte *)0x0) {
          if (iVar6 != 0) {
            local_358 = RelinquishVirtualMemory(iVar6);
            goto LAB_0026ab65;
          }
        }
        else {
          iVar26 = RelinquishMagickMemory(pbVar10);
          if (iVar6 == 0) {
            local_358 = 0;
            if (iVar26 == 0) goto LAB_0026ab7d;
          }
          else {
            local_358 = RelinquishVirtualMemory(iVar6);
            if (iVar26 == 0) goto LAB_0026ab65;
          }
          RelinquishMagickMemory(iVar26);
LAB_0026ab65:
          if (local_358 != 0) {
            RelinquishVirtualMemory(local_358);
          }
        }
LAB_0026ab7d:
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "MemoryAllocationFailed";
        uVar7 = 400;
        uVar31 = 0x1a3;
        goto LAB_00269ff0;
      }
      uVar17 = local_378[6];
      if ((uint)local_378[6] <= (uint)local_32a) {
        uVar17 = (uint)local_32a;
      }
      uVar22 = (uint)local_32b;
      if (local_32b < 8) {
        uVar22 = 8;
      }
      memset(pbVar10,0,uVar17 * uVar22);
      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);
      memset(__s,0,uVar24 * 2);
      puVar25 = __s;
      if (local_33a == '\0') {
        for (; uVar24 != 0; uVar24 = uVar24 - 1) {
          uVar5 = ReadBlobByte(local_378);
          iVar26 = EOFBlob(local_378);
          if (iVar26 != 0) {
            RelinquishMagickMemory(pbVar10);
            RelinquishVirtualMemory(iVar6);
            if (local_360 != (int *)0x0) {
              RelinquishMagickMemory(local_360);
            }
            pcVar32 = "UnexpectedEndOfFile";
            uVar7 = 0x1a9;
            uVar31 = 0x1b2;
            goto LAB_00269ff0;
          }
          *puVar25 = uVar5;
          puVar25 = puVar25 + 1;
        }
      }
      else {
        for (; uVar24 != 0; uVar24 = uVar24 - 1) {
          while( true ) {
            uVar17 = ReadBlobByte(local_378);
            iVar26 = EOFBlob(local_378);
            if (iVar26 != 0) {
              RelinquishMagickMemory(pbVar10);
              RelinquishVirtualMemory(iVar6);
              if (local_360 != (int *)0x0) {
                RelinquishMagickMemory(local_360);
              }
              pcVar32 = "UnexpectedEndOfFile";
              uVar7 = 0x1a9;
              uVar31 = 0x1bb;
              goto LAB_00269ff0;
            }
            if ((uVar17 & 0xc0) != 0xc0) break;
            uVar5 = ReadBlobByte(local_378);
            iVar26 = EOFBlob(local_378);
            if (iVar26 != 0) {
              RelinquishMagickMemory(pbVar10);
              RelinquishVirtualMemory(iVar6);
              if (local_360 != (int *)0x0) {
                RelinquishMagickMemory(local_360);
              }
              pcVar32 = "UnexpectedEndOfFile";
              uVar7 = 0x1a9;
              uVar31 = 0x1c5;
              goto LAB_00269ff0;
            }
            if ((uVar17 & 0x3f) != 0) {
              uVar24 = uVar24 - 1;
              *puVar25 = uVar5;
              if (uVar24 == 0) goto LAB_00269a7c;
              puVar18 = puVar25 + (uVar17 & 0x3f);
              puVar11 = puVar25;
              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {
                uVar24 = uVar24 - 1;
                *puVar11 = uVar5;
                if (uVar24 == 0) goto LAB_00269a7c;
              }
            }
          }
          *puVar25 = (char)uVar17;
          puVar25 = puVar25 + 1;
        }
      }
LAB_00269a7c:
      if (*local_378 == 1) {
        local_378[0xa5] = (uint)(3 < local_32b) << 2;
      }
      else if (local_33b == '\x05') {
        if (0x100 < (uint)local_378[9]) {
LAB_0026aaa4:
          RelinquishMagickMemory(pbVar10);
          RelinquishVirtualMemory(iVar6);
          if (local_360 != (int *)0x0) {
            RelinquishMagickMemory(local_360);
          }
          pcVar32 = "ColormapExceeds256Colors";
          uVar7 = 0x1a9;
          uVar31 = 0x1d9;
          goto LAB_00269ff0;
        }
        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;
        if (0x10 < (uint)local_378[9]) {
          local_322 = ReadBlobByte(local_378);
          ReadBlob(local_378,local_378[9] * 3,local_320);
          fVar4 = DAT_002e814c;
          iVar26 = local_378[9];
          if (0 < iVar26) {
            pdVar15 = (double *)(local_378[10] + 0x20);
            pbVar8 = local_320;
            do {
              pbVar14 = pbVar8 + 3;
              *pdVar15 = (double)((float)*pbVar8 * fVar4);
              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);
              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);
              pdVar15 = pdVar15 + 10;
              pbVar8 = pbVar14;
            } while (pbVar14 != local_320 + iVar26 * 3);
          }
        }
      }
      else if ((uint)local_339 * (uint)local_32b == 1) {
        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;
LAB_0026a31e:
        iVar26 = local_378[10];
        *(undefined8 *)(iVar26 + 0x20) = 0;
        *(undefined8 *)(iVar26 + 0x28) = 0;
        *(undefined8 *)(iVar26 + 0x30) = 0;
        fVar4 = DAT_002df8a8;
        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;
        *(double *)(iVar26 + 0x78) = (double)fVar4;
        *(double *)(iVar26 + 0x80) = (double)fVar4;
      }
      local_364 = 0;
      local_34c = 0;
      local_348 = 0;
      if (0 < local_378[7]) {
        do {
          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;
          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);
          if (iVar26 == 0) break;
          uVar17 = (uint)local_32b;
          if (*local_378 == 1) {
            if ((local_32b != 0) && (local_32a != 0)) {
              pbVar14 = pbVar10;
              do {
                pbVar23 = pbVar8 + local_32a;
                pbVar19 = pbVar14;
                do {
                  bVar16 = *pbVar8;
                  pbVar8 = pbVar8 + 1;
                  *pbVar19 = bVar16;
                  pbVar19 = pbVar19 + uVar17;
                } while (pbVar23 != pbVar8);
                pbVar14 = pbVar14 + 1;
                pbVar8 = pbVar23;
              } while (pbVar14 != pbVar10 + uVar17);
            }
LAB_00269be4:
            local_370 = local_378[6];
          }
          else {
            local_370 = local_378[6];
            if (1 < local_32b) {
              if (0 < (int)local_370) {
                iVar12 = 0;
                do {
                  pbVar10[iVar12] = 0;
                  iVar12 = iVar12 + 1;
                } while (iVar12 < local_378[6]);
              }
              uVar24 = (uint)local_32a;
              if (uVar24 != 0) {
                uVar22 = 0;
                do {
                  uVar13 = 0;
                  do {
                    bVar16 = pbVar8[uVar13];
                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));
                    if ((char)bVar16 < '\0') {
                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;
                    }
                    if ((bVar16 & 0x40) != 0) {
                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;
                    }
                    if ((bVar16 & 0x20) != 0) {
                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;
                    }
                    if ((bVar16 & 0x10) != 0) {
                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;
                    }
                    if ((bVar16 & 8) != 0) {
                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;
                    }
                    if ((bVar16 & 4) != 0) {
                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;
                    }
                    if ((bVar16 & 2) != 0) {
                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;
                    }
                    if ((bVar16 & 1) != 0) {
                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;
                    }
                    uVar13 = uVar13 + 1;
                  } while (uVar13 != uVar24);
                  pbVar8 = pbVar8 + uVar24;
                  uVar22 = uVar22 + 1;
                } while (uVar22 != uVar17);
              }
              goto LAB_00269be4;
            }
            if (local_339 == 2) {
              pbVar14 = pbVar10;
              pbVar23 = pbVar10;
              pbVar19 = pbVar8;
              if (3 < (int)local_370) {
                do {
                  pbVar14 = pbVar23 + 4;
                  pbVar8 = pbVar19 + 1;
                  *pbVar23 = *pbVar19 >> 6;
                  pbVar23[1] = *pbVar19 >> 4 & 3;
                  pbVar23[2] = *pbVar19 >> 2 & 3;
                  pbVar23[3] = *pbVar19 & 3;
                  local_370 = local_378[6];
                  pbVar23 = pbVar14;
                  pbVar19 = pbVar8;
                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));
              }
              if ((local_370 & 3) != 0) {
                iVar12 = 3;
                do {
                  cVar3 = (char)iVar12;
                  iVar12 = iVar12 + -1;
                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;
                  local_370 = local_378[6];
                  pbVar14 = pbVar14 + 1;
                } while ((int)(4 - (local_370 & 3)) <= iVar12);
              }
            }
            else if (local_339 < 3) {
              if (local_339 == 1) {
                pbVar14 = pbVar10;
                pbVar23 = pbVar10;
                pbVar19 = pbVar8;
                if (7 < (int)local_370) {
                  do {
                    pbVar14 = pbVar23 + 8;
                    pbVar8 = pbVar19 + 1;
                    *pbVar23 = *pbVar19 >> 7 ^ 1;
                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;
                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;
                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;
                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;
                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;
                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;
                    pbVar23[7] = ~*pbVar19 & 1;
                    local_370 = local_378[6];
                    pbVar23 = pbVar14;
                    pbVar19 = pbVar8;
                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));
                }
                if ((local_370 & 7) != 0) {
                  iVar12 = 7;
                  do {
                    bVar16 = (byte)iVar12;
                    iVar12 = iVar12 + -1;
                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;
                    local_370 = local_378[6];
                    pbVar14 = pbVar14 + 1;
                  } while ((int)(8 - (local_370 & 7)) <= iVar12);
                }
              }
            }
            else if (local_339 == 4) {
              pbVar14 = pbVar10;
              pbVar23 = pbVar10;
              pbVar19 = pbVar8;
              if (1 < (int)local_370) {
                do {
                  pbVar14 = pbVar23 + 2;
                  pbVar8 = pbVar19 + 1;
                  *pbVar23 = *pbVar19 >> 4;
                  pbVar23[1] = *pbVar19 & 0xf;
                  local_370 = local_378[6];
                  pbVar23 = pbVar14;
                  pbVar19 = pbVar8;
                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));
              }
              if ((local_370 & 1) != 0) {
                *pbVar14 = *pbVar8 >> 4;
                goto LAB_00269be4;
              }
            }
            else if (local_339 == 8) {
              memcpy(pbVar10,pbVar8,local_370);
              local_370 = local_378[6];
            }
          }
          fVar4 = DAT_002e814c;
          if (0 < (int)local_370) {
            sVar20 = 0;
            iVar12 = local_378[0xa6];
            iVar1 = *local_378;
            iVar2 = local_378[0xaa];
            pbVar8 = pbVar10;
            do {
              while( true ) {
                if (iVar1 == 2) break;
                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);
                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =
                     (double)((float)pbVar8[1] * fVar4);
                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =
                     (double)((float)pbVar8[2] * fVar4);
                if (local_378[0xa5] == 0) {
                  pbVar14 = pbVar8 + 3;
                }
                else {
                  pbVar14 = pbVar8 + 4;
                  if (*(int *)(iVar2 + 0x34) != 0) {
                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =
                         (double)((float)pbVar8[3] * fVar4);
                  }
                }
LAB_00269c86:
                iVar26 = iVar26 + iVar12 * 8;
                sVar20 = sVar20 + 1;
                pbVar8 = pbVar14;
                if (sVar20 == local_370) goto LAB_00269cce;
              }
              pbVar14 = pbVar8 + 1;
              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;
              sVar20 = sVar20 + 1;
              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;
              iVar26 = iVar26 + iVar12 * 8;
              pbVar8 = pbVar14;
            } while (sVar20 != local_370);
          }
LAB_00269cce:
          iVar26 = SyncAuthenticPixels(local_378,param_2);
          if (iVar26 == 0) break;
          iVar26 = local_378[7];
          if (local_378[0xccf] == 0) {
            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);
            if (local_350 == 0) break;
            iVar26 = local_378[7];
          }
          local_364 = local_364 + 1;
          bVar27 = 0xfffffffe < local_34c;
          local_34c = local_34c + 1;
          local_348 = local_348 + (uint)bVar27;
        } while (local_364 < iVar26);
      }
      if (*local_378 == 2) {
        SyncImage(local_378,param_2);
      }
      local_364 = RelinquishMagickMemory(pbVar10);
      local_36c = RelinquishVirtualMemory(iVar6);
      iVar6 = EOFBlob(local_378);
      if (iVar6 != 0) {
        piVar9 = __errno_location();
        uVar7 = GetExceptionMessage(*piVar9);
        ThrowMagickException
                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",
                   "\'%s\': %s",local_378 + 0xc6,uVar7);
        DestroyString(uVar7);
LAB_0026aa7e:
        if (local_360 == (int *)0x0) goto LAB_0026a58c;
        break;
      }
      if ((*(int *)(param_1 + 0x2c) != 0) &&
         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))
      goto LAB_0026aa7e;
      if (local_360 == (int *)0x0) goto LAB_0026a58c;
      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;
      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);
      if (extraout_EDX_00 < 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        RelinquishMagickMemory(local_360);
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x2a4;
        goto LAB_00269ff0;
      }
      iVar6 = ReadBlob(local_378,1,&local_33c);
      if ((iVar6 != 0) && (local_33c == '\n')) {
        AcquireNextImage(param_1,local_378,param_2);
        iVar26 = GetNextImageInList(local_378);
        if (iVar26 == 0) {
          local_350 = 0;
          break;
        }
        local_378 = (int *)SyncNextImageInList(local_378);
        uVar29 = GetBlobSize(local_378);
        uVar30 = TellBlob(local_378);
        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);
        if (local_350 == 0) break;
      }
      local_344 = local_344 + 1;
    } while (local_344 != 0x400);
    RelinquishMagickMemory(local_360);
LAB_0026a58c:
    CloseBlob(local_378);
    if (local_350 == 0) {
      uVar7 = DestroyImageList(local_378);
    }
    else {
      uVar7 = GetFirstImageInList(local_378);
    }
  }
LAB_002690c4:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_002decd0();
  }
  return uVar7;
}


CALL 0x0003e478
ADD EAX,0x1b508b
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x36c
MOV ESI,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x35c],ESI
XOR ESI,ESI
MOV ECX,dword ptr [ESP + 0x384]
MOV dword ptr [ESP],EAX
MOV EAX,dword ptr [ESP + 0x380]
MOV dword ptr [ESP + 0x8],ECX
MOV dword ptr [ESP + 0x14],EAX
TEST EAX,EAX
JZ 0x0026ad44
CMP dword ptr [EAX + 0x31f4],0xabacadab
JNZ 0x0026ad22
MOV EDI,dword ptr [EAX + 0x31f0]
TEST EDI,EDI
JNZ 0x002690e8
MOV ESI,dword ptr [ESP + 0x8]
TEST ESI,ESI
JZ 0x0026ad00
MOV EAX,dword ptr [ESP + 0x8]
CMP dword ptr [EAX + 0x1c],0xabacadab
JNZ 0x0026ad6b
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
MOV EBP,dword ptr [ESP + 0x20]
PUSH EBP
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,EDI
CALL 0x000313c0
ADD ESP,0x10
PUSH dword ptr [ESP + 0x8]
PUSH 0x2
MOV ESI,EAX
PUSH EAX
PUSH EBP
CALL 0x00032230
MOV dword ptr [ESP + 0x3c],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0026a289
SUB ESP,0x8
MOV EDI,dword ptr [ESP + 0x8]
LEA EAX,[EDI + 0xffec4566]
MOV EBX,EDI
PUSH EAX
MOV EBP,dword ptr [ESP + 0x20]
LEA EAX,[EBP + 0x1f0]
PUSH EAX
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0026a0ff
SUB ESP,0xc
PUSH ESI
CALL 0x00033ac0
ADD ESP,0x10
CMP EAX,0x3ade68b1
JZ 0x00269128
MOV EAX,EBP
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EDI + 0xffec3be0]
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
LEA EAX,[EDI + 0xfff2823c]
PUSH 0x1a9
PUSH 0x129
PUSH EAX
LEA EAX,[EDI + 0xfff281ae]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
CALL 0x00032e80
ADD ESP,0x20
TEST ESI,ESI
JZ 0x002690c2
SUB ESP,0xc
PUSH ESI
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,EDI
CALL 0x000311d0
MOV dword ptr [ESP],ESI
CALL 0x000317a0
ADD ESP,0x10
XOR EAX,EAX
MOV ESI,dword ptr [ESP + 0x35c]
XOR ESI,dword ptr GS:[0x14]
JNZ 0x0026ad66
ADD ESP,0x36c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x1c]
ADD EAX,0x21f0
PUSH EAX
MOV EBX,dword ptr [ESP + 0xc]
LEA EAX,[EBX + 0xffed95ae]
PUSH EAX
LEA EAX,[EBX + 0xfff2823c]
PUSH 0x10e
PUSH EAX
LEA EAX,[EBX + 0xfff281ae]
PUSH EAX
PUSH 0x8000
CALL 0x000323b0
ADD ESP,0x20
JMP 0x00268fd3
SUB ESP,0x8
PUSH 0x8
PUSH 0x400
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x000317b0
MOV dword ptr [ESP + 0x2c],EAX
LEA EBP,[EAX + 0x2000]
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JNZ 0x0026915f
JMP 0x0026a2a0
ADD EDI,0x8
CMP EDI,EBP
JZ 0x0026917c
SUB ESP,0xc
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac0
MOV dword ptr [EDI + 0x4],0x0
ADD ESP,0x10
MOV dword ptr [EDI],EAX
TEST EAX,EAX
JNZ 0x00269158
PUSH 0x0
MOV EAX,dword ptr [ESP + 0x20]
PUSH dword ptr [EAX + 0x4]
PUSH dword ptr [EAX]
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031f00
ADD ESP,0x10
TEST EDX,EDX
JS 0x002697b0
SUB ESP,0x4
XOR EBP,EBP
LEA EAX,[ESP + 0x44]
MOV dword ptr [ESP + 0x40],EAX
PUSH EAX
PUSH 0x1
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033430
ADD ESP,0x10
MOV dword ptr [ESP + 0x4],ESI
MOV ESI,EAX
MOV dword ptr [ESP + 0x18],0x0
MOV dword ptr [ESP + 0x38],0x1
MOV dword ptr [ESP + 0x10],EBP
SUB ESP,0xc
PUSH dword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00030c90
MOV byte ptr [ESP + 0x51],AL
ADD ESP,0x10
CMP ESI,0x1
JNZ 0x0026a8b4
CMP byte ptr [ESP + 0x40],0xa
JNZ 0x0026a8b4
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x10]
PUSH EDI
MOV ESI,dword ptr [ESP + 0x10]
MOV EBX,ESI
CALL 0x00030c90
MOV dword ptr [ESP],EDI
MOV byte ptr [ESP + 0x52],AL
CALL 0x00030c90
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x0026a92d
MOV byte ptr [ESP + 0x43],AL
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x10]
PUSH EDI
MOV ESI,dword ptr [ESP + 0x10]
MOV EBX,ESI
CALL 0x00033aa8
MOV dword ptr [ESP],EDI
MOV word ptr [ESP + 0x54],AX
CALL 0x00033aa8
MOV dword ptr [ESP],EDI
MOV word ptr [ESP + 0x56],AX
CALL 0x00033aa8
MOV dword ptr [ESP],EDI
MOV word ptr [ESP + 0x58],AX
CALL 0x00033aa8
MOV dword ptr [ESP],EDI
MOV word ptr [ESP + 0x5a],AX
CALL 0x00033aa8
MOV dword ptr [ESP],EDI
MOV word ptr [ESP + 0x5c],AX
CALL 0x00033aa8
MOV dword ptr [ESP],EDI
MOV word ptr [ESP + 0x5e],AX
CALL 0x00030ee0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0026a9a6
MOVZX EDX,word ptr [ESP + 0x48]
MOVZX EBX,word ptr [ESP + 0x44]
CMP DX,BX
JC 0x0026a34a
MOVZX EBP,word ptr [ESP + 0x4a]
MOVZX EDI,word ptr [ESP + 0x46]
CMP BP,DI
JC 0x0026a34a
MOVZX ECX,byte ptr [ESP + 0x43]
LEA ESI,[ECX + -0x4]
AND ESI,0xfb
JZ 0x002692dc
LEA ESI,[ECX + -0x1]
MOV EAX,ESI
CMP AL,0x1
JA 0x0026a34a
MOVZX EAX,BP
SUB EDX,EBX
LEA ESI,[EDX + 0x1]
SUB EAX,EDI
MOV EDX,dword ptr [ESP + 0x4]
MOV EDI,EAX
MOVZX EAX,word ptr [ESP + 0x4c]
ADD EDI,0x1
MOV dword ptr [EDX + 0x20],ECX
MOV ECX,EDX
MOV dword ptr [ESP + 0xc],EAX
MOVZX EAX,word ptr [ESP + 0x4e]
FILD dword ptr [ESP + 0xc]
MOV dword ptr [EDX + 0x18],ESI
FSTP qword ptr [EDX + 0x1f0]
MOV dword ptr [EDX + 0x1c],EDI
MOV dword ptr [ESP + 0xc],EAX
FILD dword ptr [ESP + 0xc]
MOV dword ptr [EDX + 0x1dc],0x1
FSTP qword ptr [EDX + 0x1f8]
MOV dword ptr [EDX + 0x24],0x10
MOV EDX,dword ptr [ESP + 0x14]
MOV EBX,dword ptr [EDX + 0x1bc]
TEST EBX,EBX
JZ 0x0026934a
MOV EAX,dword ptr [EDX + 0x2c]
TEST EAX,EAX
JNZ 0x0026977a
SUB ESP,0xc
IMUL ESI,EDI
PUSH dword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x000318e0
ADD ESP,0x10
MOV EBX,EAX
MOV ECX,EDX
MOV EAX,ESI
MOV EDX,0x80808081
MUL EDX
MOV ESI,EDX
XOR EDX,EDX
SHR ESI,0x7
CMP EDX,ECX
JC 0x00269400
JA 0x00269382
CMP ESI,EBX
JBE 0x00269400
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x002693a2
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x002693b6
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x002693ce
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeeeeb0]
PUSH EAX
PUSH 0x1a9
PUSH 0x166
JMP 0x00269fdc
PUSH dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x8]
PUSH dword ptr [EAX + 0x1c]
PUSH dword ptr [EAX + 0x18]
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031910
MOV dword ptr [ESP + 0x3c],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0026a5c6
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
MOV ESI,dword ptr [ESP + 0x10]
PUSH ESI
MOV EBP,dword ptr [ESP + 0x10]
LEA EDI,[ESP + 0x6c]
MOV EBX,EBP
CALL 0x000330a0
XOR EAX,EAX
MOV ECX,0xc0
MOV EDX,EDI
MOV dword ptr [ESP + 0x38],EDI
ADD ESP,0xc
STOSD.REP ES:EDI
PUSH EDX
MOV EAX,dword ptr [ESI + 0x24]
LEA EAX,[EAX + EAX*0x2]
PUSH EAX
PUSH ESI
CALL 0x00033430
MOV EDX,dword ptr [ESI + 0x24]
ADD ESP,0x10
LEA EDX,[EDX + EDX*0x2]
CMP EDX,EAX
JNZ 0x0026a657
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x10]
PUSH EDI
MOV ESI,dword ptr [ESP + 0x10]
MOV EBX,ESI
CALL 0x00030c90
MOV dword ptr [ESP],EDI
MOV byte ptr [ESP + 0x60],AL
CALL 0x00030c90
MOV byte ptr [ESP + 0x61],AL
ADD ESP,0x10
TEST AL,AL
JZ 0x0026a6d0
CMP AL,0x6
JA 0x0026a749
MOVZX EBX,byte ptr [ESP + 0x43]
MOVZX ECX,AL
IMUL ECX,EBX
CMP ECX,0x3f
JG 0x0026a7c2
CMP AL,0x1
JZ 0x002694c6
CMP BL,0x8
JZ 0x002694d7
MOVZX EAX,byte ptr [ESP + 0x41]
SUB EAX,0x3
TEST AL,0xfd
JZ 0x002694e0
CMP ECX,0x1
JZ 0x002694e0
MOV EAX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [EAX + 0x24]
JMP 0x002694fb
MOV EAX,0x1
MOV ESI,dword ptr [ESP + 0x4]
MOV EDX,0x100
SHL EAX,CL
CMP EAX,0x100
CMOVA EAX,EDX
MOV dword ptr [ESI + 0x24],EAX
SUB ESP,0x4
PUSH dword ptr [ESP + 0xc]
PUSH EAX
PUSH dword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x000324e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0026a83b
CMP byte ptr [ESP + 0x43],0x7
JA 0x00269760
MOV ESI,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [ESI + 0x24]
TEST EAX,EAX
JLE 0x00269592
MOV ESI,dword ptr [ESI + 0x28]
LEA EBX,[EAX + EAX*0x2]
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0xc],ESI
LEA EDX,[ESI + 0x20]
MOV ESI,dword ptr [ESP]
ADD EBX,EAX
FLD dword ptr [ESI + 0xffeca14c]
LEA ESI,[ESI]
MOVZX ECX,byte ptr [EAX]
ADD EAX,0x3
ADD EDX,0x50
MOV dword ptr [ESP + 0xc],ECX
FILD dword ptr [ESP + 0xc]
FLD ST1
FMUL ST1
FXCH
FSTP qword ptr [EDX + -0x50]
MOVZX ECX,byte ptr [EAX + -0x2]
MOV dword ptr [ESP + 0xc],ECX
FILD dword ptr [ESP + 0xc]
FMUL ST1
FSTP qword ptr [EDX + -0x48]
MOVZX ECX,byte ptr [EAX + -0x1]
MOV dword ptr [ESP + 0xc],ECX
FILD dword ptr [ESP + 0xc]
FMULP
FSTP qword ptr [EDX + -0x40]
CMP EAX,EBX
JNZ 0x00269550
FSTP ST0
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x10]
PUSH EDI
MOV ESI,dword ptr [ESP + 0x10]
MOV EBX,ESI
MOV ESI,0x36
CALL 0x00033aa8
MOV dword ptr [ESP],EDI
MOV word ptr [ESP + 0x62],AX
CALL 0x00033aa8
MOV dword ptr [ESP],EDI
MOV word ptr [ESP + 0x64],AX
CALL 0x00033aa8
MOV dword ptr [ESP],EDI
MOV word ptr [ESP + 0x66],AX
CALL 0x00033aa8
MOV word ptr [ESP + 0x68],AX
ADD ESP,0x10
LEA ESI,[ESI]
SUB ESP,0xc
PUSH EDI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00030c90
ADD ESP,0x10
SUB ESI,0x1
JNZ 0x002695e0
MOV EAX,dword ptr [ESP + 0x4]
MOVZX ESI,word ptr [ESP + 0x52]
MOV ECX,dword ptr [EAX + 0x1c]
TEST ECX,ECX
JZ 0x002697a5
TEST ESI,ESI
JZ 0x002697a5
MOV EBX,ESI
XOR EDX,EDX
IMUL EBX,ECX
MOV EAX,EBX
DIV ECX
CMP ESI,EAX
JZ 0x002696b0
MOV EBX,dword ptr [ESP]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
CALL 0x000305f0
MOV dword ptr [EAX],0xc
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JZ 0x00269652
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x00269666
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026967e
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x192
JMP 0x00269fdc
MOVZX ECX,byte ptr [ESP + 0x51]
TEST EBX,EBX
JZ 0x00269798
TEST ECX,ECX
JZ 0x00269798
MOV EBP,ECX
XOR EDX,EDX
IMUL EBP,EBX
MOV EAX,EBP
DIV EBX
CMP ECX,EAX
JZ 0x00269812
MOV EBX,dword ptr [ESP]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
CALL 0x000305f0
MOV dword ptr [EAX],0xc
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JZ 0x00269706
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026971a
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x00269732
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x194
JMP 0x00269fdc
CMP byte ptr [ESP + 0x51],0x1
JZ 0x00269526
MOV EAX,dword ptr [ESP + 0x4]
MOV dword ptr [EAX],0x1
JMP 0x00269526
ADD EAX,dword ptr [EDX + 0x28]
SUB EAX,0x1
CMP dword ptr [ECX + 0x244],EAX
JC 0x0026934a
MOV ESI,dword ptr [ESP + 0x4]
JMP 0x0026aa7e
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
JMP 0x002696ee
MOV ESI,EAX
MOV EBP,dword ptr [ESP + 0x10]
JMP 0x0026963a
SUB ESP,0xc
PUSH dword ptr [ESP + 0x28]
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,EDI
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EDI + 0xffec3be0]
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
LEA EAX,[EDI + 0xfff2823c]
PUSH 0x1a9
PUSH 0x139
PUSH EAX
LEA EAX,[EDI + 0xfff281ae]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
CALL 0x00032e80
ADD ESP,0x20
TEST ESI,ESI
JZ 0x002690c2
SUB ESP,0xc
PUSH ESI
JMP 0x002690b2
MOVZX EAX,byte ptr [ESP + 0x43]
LEA EDX,[EBP*0x8 + 0x0]
MOV ESI,dword ptr [ESP + 0x4]
IMUL EAX,ECX
IMUL EAX,dword ptr [ESI + 0x18]
CMP EAX,EDX
JA 0x0026abeb
SUB ESP,0xc
PUSH dword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x000318e0
XOR EBX,EBX
ADD ESP,0x10
MOV ESI,EAX
MOV EAX,EBP
SHR EAX,0x5
SUB EAX,-0x80
CMP EBX,EDX
JC 0x002698e0
JBE 0x002698d8
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026987a
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026988e
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x002698a6
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x198
JMP 0x00269fdc
CMP EAX,ESI
JA 0x0026985a
SUB ESP,0x8
MOV ESI,0x8
CMP byte ptr [ESP + 0x59],0x8
MOVZX EAX,byte ptr [ESP + 0x59]
CMOVC EAX,ESI
PUSH EAX
MOV ECX,dword ptr [ESP + 0x10]
MOVZX EAX,word ptr [ESP + 0x5e]
MOV EDX,dword ptr [ECX + 0x18]
CMP EAX,EDX
CMOVC EAX,EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x000317b0
MOV EDI,EAX
POP EAX
POP EDX
PUSH 0x2
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00032050
MOV dword ptr [ESP + 0x34],EAX
ADD ESP,0x10
TEST EDI,EDI
JZ 0x0026ab15
TEST EAX,EAX
JZ 0x0026ab15
MOV EAX,dword ptr [ESP + 0x4]
MOVZX EDX,word ptr [ESP + 0x52]
MOV EAX,dword ptr [EAX + 0x18]
CMP EDX,EAX
CMOVNC EAX,EDX
MOVZX EDX,byte ptr [ESP + 0x51]
CMP byte ptr [ESP + 0x51],0x8
CMOVC EDX,ESI
SUB ESP,0x4
IMUL EAX,EDX
PUSH EAX
PUSH 0x0
PUSH EDI
MOV ESI,dword ptr [ESP + 0x10]
MOV EBX,ESI
CALL 0x000310a0
POP EAX
PUSH dword ptr [ESP + 0x30]
CALL 0x00032e60
ADD ESP,0xc
MOV ECX,EAX
LEA EAX,[EBP + EBP*0x1]
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x2c],ECX
PUSH ECX
CALL 0x000310a0
ADD ESP,0x10
CMP byte ptr [ESP + 0x42],0x0
JZ 0x00269f2b
MOV EAX,dword ptr [ESP + 0x20]
TEST EBP,EBP
JZ 0x00269a7c
MOV dword ptr [ESP + 0x10],EDI
MOV EDI,dword ptr [ESP + 0x4]
MOV ESI,EAX
NOP
SUB ESP,0xc
PUSH EDI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00030c90
MOV EBX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP],EDI
MOV dword ptr [ESP + 0x1c],EAX
CALL 0x00030ee0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x0026a20c
MOV EAX,EDX
AND EAX,0xc0
CMP EAX,0xc0
JZ 0x00269a00
LEA ECX,[ESI + 0x1]
SUB EBP,0x1
MOV byte ptr [ESI],DL
JZ 0x00269a78
MOV ESI,ECX
JMP 0x002699b0
AND EDX,0x3f
SUB ESP,0xc
MOV dword ptr [ESP + 0x18],EDX
PUSH EDI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00030c90
MOV EBX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP],EDI
MOV dword ptr [ESP + 0x40],EAX
MOV byte ptr [ESP + 0x28],AL
CALL 0x00030ee0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0026a490
MOV EDX,dword ptr [ESP + 0xc]
TEST EDX,EDX
JZ 0x0026a5bd
MOV ECX,dword ptr [ESP + 0x30]
LEA EAX,[ESI + 0x1]
SUB EBP,0x1
MOV byte ptr [ESI],CL
JZ 0x00269a78
MOV ECX,EDX
MOVZX EDX,byte ptr [ESP + 0x18]
ADD ECX,ESI
JMP 0x00269a6b
ADD EAX,0x1
SUB EBP,0x1
MOV byte ptr [EAX + -0x1],DL
JZ 0x00269a78
CMP ECX,EAX
JNZ 0x00269a60
JMP 0x002699f8
MOV EDI,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0x4]
CMP dword ptr [EAX],0x1
JZ 0x0026a26f
CMP byte ptr [ESP + 0x41],0x5
JZ 0x0026a3c3
MOVZX EAX,byte ptr [ESP + 0x43]
MOVZX EDX,byte ptr [ESP + 0x51]
IMUL EAX,EDX
CMP EAX,0x1
JZ 0x0026a30d
MOV EAX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x18],0x0
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x34],0x0
MOV EDX,dword ptr [EAX + 0x1c]
TEST EDX,EDX
JLE 0x00269d16
LEA ESI,[ESI]
MOVZX ESI,word ptr [ESP + 0x52]
SUB ESP,0x8
MOV ECX,dword ptr [ESP + 0x20]
MOVZX EAX,byte ptr [ESP + 0x59]
IMUL ESI,ECX
IMUL ESI,EAX
ADD ESI,dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x10]
PUSH 0x1
MOV EAX,dword ptr [ESP + 0x14]
PUSH dword ptr [EAX + 0x18]
PUSH ECX
PUSH 0x0
MOV dword ptr [ESP + 0x20],EAX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x20]
CALL 0x00032e70
ADD ESP,0x20
MOV EBP,EAX
TEST EAX,EAX
JZ 0x00269d16
MOV EAX,dword ptr [ESP + 0x4]
MOVZX EDX,byte ptr [ESP + 0x51]
CMP dword ptr [EAX],0x1
JZ 0x00269e80
MOV ECX,EAX
MOV EAX,dword ptr [EAX + 0x18]
CMP DL,0x1
JBE 0x00269e38
TEST EAX,EAX
MOV dword ptr [ESP + 0xc],EDX
JLE 0x00269b5c
XOR EAX,EAX
MOV EDX,ECX
LEA ESI,[ESI]
MOV byte ptr [EDI + EAX*0x1],0x0
ADD EAX,0x1
CMP dword ptr [EDX + 0x18],EAX
JG 0x00269b50
MOVZX EAX,word ptr [ESP + 0x52]
TEST EAX,EAX
JZ 0x00269be0
MOV dword ptr [ESP + 0x10],EBP
XOR ECX,ECX
MOV EBP,EAX
LEA ESI,[ESI]
MOV EAX,0x1
SHL EAX,CL
MOV EBX,EAX
XOR EAX,EAX
NOP
LEA ESI,[ESI]
MOVZX EDX,byte ptr [ESI + EAX*0x1]
TEST DL,DL
JNS 0x00269b8b
OR byte ptr [EDI + EAX*0x8],BL
TEST DL,0x40
JZ 0x00269b94
OR byte ptr [EDI + EAX*0x8 + 0x1],BL
TEST DL,0x20
JZ 0x00269b9d
OR byte ptr [EDI + EAX*0x8 + 0x2],BL
TEST DL,0x10
JZ 0x00269ba6
OR byte ptr [EDI + EAX*0x8 + 0x3],BL
TEST DL,0x8
JZ 0x00269baf
OR byte ptr [EDI + EAX*0x8 + 0x4],BL
TEST DL,0x4
JZ 0x00269bb8
OR byte ptr [EDI + EAX*0x8 + 0x5],BL
TEST DL,0x2
JZ 0x00269bc1
OR byte ptr [EDI + EAX*0x8 + 0x6],BL
AND EDX,0x1
JZ 0x00269bca
OR byte ptr [EDI + EAX*0x8 + 0x7],BL
ADD EAX,0x1
CMP EAX,EBP
JNZ 0x00269b80
ADD ESI,EBP
ADD ECX,0x1
CMP ECX,dword ptr [ESP + 0xc]
JNZ 0x00269b70
MOV EBP,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [EAX + 0x18]
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JLE 0x00269cce
MOV EAX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x28],EDI
XOR EDX,EDX
MOV ECX,dword ptr [EAX + 0x298]
MOV EBX,dword ptr [EAX]
MOV ESI,ECX
MOV dword ptr [ESP + 0x10],ECX
MOV ECX,dword ptr [EAX + 0x2a8]
MOV EAX,dword ptr [ESP]
SHL ESI,0x3
FLD dword ptr [EAX + 0xffeca14c]
MOV EAX,EDI
MOV EDI,EBX
JMP 0x00269c91
MOV dword ptr [ESP + 0x10],EBX
FILD dword ptr [ESP + 0x10]
FLD ST1
MOV EBX,dword ptr [ECX + 0x8]
FMUL ST1
FXCH
FSTP qword ptr [EBP + EBX*0x8]
MOVZX EBX,byte ptr [EAX + 0x1]
MOV dword ptr [ESP + 0x10],EBX
FILD dword ptr [ESP + 0x10]
FMUL ST1
MOV EBX,dword ptr [ECX + 0x14]
FSTP qword ptr [EBP + EBX*0x8]
MOVZX EBX,byte ptr [EAX + 0x2]
MOV dword ptr [ESP + 0x10],EBX
FILD dword ptr [ESP + 0x10]
FMUL ST1
MOV EBX,dword ptr [ECX + 0x20]
FSTP qword ptr [EBP + EBX*0x8]
MOV EBX,dword ptr [ESP + 0x4]
MOV EBX,dword ptr [EBX + 0x294]
TEST EBX,EBX
JNZ 0x00269e00
FSTP ST0
ADD EAX,0x3
ADD EBP,ESI
ADD EDX,0x1
CMP EDX,dword ptr [ESP + 0xc]
JZ 0x00269cc8
MOVZX EBX,byte ptr [EAX]
CMP EDI,0x2
JNZ 0x00269c30
ADD EAX,0x1
CMP dword ptr [ECX + 0x40],0x0
JZ 0x00269c86
MOV word ptr [ESP + 0x10],BX
MOV EBX,dword ptr [ECX + 0x44]
ADD EDX,0x1
FILD word ptr [ESP + 0x10]
FSTP qword ptr [EBP + EBX*0x8]
ADD EBP,ESI
CMP EDX,dword ptr [ESP + 0xc]
JNZ 0x00269c91
FSTP ST0
JMP 0x00269cca
FSTP ST0
MOV EDI,dword ptr [ESP + 0x28]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
MOV ESI,dword ptr [ESP + 0x10]
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x000323a0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00269d16
MOV EBP,dword ptr [ESI + 0x333c]
MOV EAX,dword ptr [ESI + 0x1c]
TEST EBP,EBP
JZ 0x00269ef0
ADD dword ptr [ESP + 0x18],0x1
MOV ECX,dword ptr [ESP + 0x18]
ADD dword ptr [ESP + 0x30],0x1
ADC dword ptr [ESP + 0x34],0x0
CMP EAX,ECX
JG 0x00269ad8
MOV EAX,dword ptr [ESP + 0x4]
CMP dword ptr [EAX],0x2
JZ 0x0026a2f1
SUB ESP,0xc
PUSH EDI
MOV ESI,dword ptr [ESP + 0x10]
MOV EBX,ESI
CALL 0x00033ac8
MOV dword ptr [ESP + 0x28],EAX
POP ESI
PUSH dword ptr [ESP + 0x30]
CALL 0x00031d50
MOV dword ptr [ESP + 0x20],EAX
POP EDI
PUSH dword ptr [ESP + 0x10]
CALL 0x00030ee0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0026aa1f
MOV ESI,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [ESI + 0x2c]
TEST EAX,EAX
JZ 0x00269d7a
ADD EAX,dword ptr [ESI + 0x28]
MOV ESI,dword ptr [ESP + 0x4]
SUB EAX,0x1
CMP dword ptr [ESI + 0x244],EAX
JNC 0x0026978c
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026ac64
MOV ESI,dword ptr [ESP + 0x38]
MOV EDX,dword ptr [EAX + ESI*0x8 + 0x4]
MOV EAX,dword ptr [EAX + ESI*0x8]
MOV EBX,EDX
OR EBX,EAX
JZ 0x0026a575
PUSH 0x0
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031f00
ADD ESP,0x10
TEST EDX,EDX
JS 0x0026ac7e
SUB ESP,0x4
PUSH dword ptr [ESP + 0x40]
PUSH 0x1
PUSH dword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033430
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x00269de1
CMP byte ptr [ESP + 0x40],0xa
JZ 0x0026a4f3
ADD dword ptr [ESP + 0x38],0x1
MOV EAX,dword ptr [ESP + 0x38]
CMP EAX,0x400
JNZ 0x002691d3
JMP 0x0026a575
CMP dword ptr [ECX + 0x34],0x0
LEA EBX,[EAX + 0x4]
JZ 0x00269e28
MOVZX EAX,byte ptr [EAX + 0x3]
MOV dword ptr [ESP + 0x10],EAX
FILD dword ptr [ESP + 0x10]
FMULP
MOV EAX,dword ptr [ECX + 0x38]
FSTP qword ptr [EBP + EAX*0x8]
MOV EAX,EBX
JMP 0x00269c86
FSTP ST0
MOV EAX,EBX
JMP 0x00269c86
MOVZX EDX,byte ptr [ESP + 0x43]
CMP DL,0x2
JZ 0x0026a10c
JBE 0x00269ffe
CMP DL,0x4
JZ 0x0026a1b8
CMP DL,0x8
JNZ 0x00269be7
SUB ESP,0x4
PUSH EAX
PUSH ESI
PUSH EDI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031e30
MOV EAX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EAX + 0x18]
MOV dword ptr [ESP + 0x1c],EAX
ADD ESP,0x10
JMP 0x00269beb
TEST DL,DL
JZ 0x00269be4
MOVZX EAX,word ptr [ESP + 0x52]
TEST AX,AX
JZ 0x00269be0
MOV dword ptr [ESP + 0xc],EAX
LEA ECX,[EDI + EDX*0x1]
MOV EAX,ESI
MOV ESI,dword ptr [ESP + 0xc]
MOV EBX,EDI
MOV dword ptr [ESP + 0x28],EDI
MOV EDI,ECX
MOV dword ptr [ESP + 0x10],EBP
NOP
LEA EBP,[EAX + ESI*0x1]
MOV ECX,EBX
MOV dword ptr [ESP + 0xc],EBX
LEA ESI,[ESI]
MOVZX EBX,byte ptr [EAX]
ADD EAX,0x1
MOV byte ptr [ECX],BL
ADD ECX,EDX
CMP EBP,EAX
JNZ 0x00269ec0
MOV EBX,dword ptr [ESP + 0xc]
MOV EAX,EBP
ADD EBX,0x1
CMP EBX,EDI
JNZ 0x00269eb0
MOV EBP,dword ptr [ESP + 0x10]
MOV EDI,dword ptr [ESP + 0x28]
JMP 0x00269be0
SUB ESP,0x8
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x44]
PUSH dword ptr [ESP + 0x44]
MOV EBX,dword ptr [ESP + 0x18]
LEA EAX,[EBX + 0xffecd253]
PUSH EAX
MOV ESI,dword ptr [ESP + 0x20]
PUSH ESI
CALL 0x00033840
MOV dword ptr [ESP + 0x4c],EAX
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00269d16
MOV EAX,dword ptr [ESI + 0x1c]
JMP 0x00269cfb
TEST EBP,EBP
JZ 0x00269a7c
MOV EDX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x10],EDI
MOV ESI,dword ptr [ESP + 0x4]
MOV EDI,EDX
JMP 0x00269f5c
MOVZX EAX,byte ptr [ESP + 0xc]
ADD EDI,0x1
SUB EBP,0x1
MOV byte ptr [EDI + -0x1],AL
JZ 0x00269a78
SUB ESP,0xc
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00030c90
MOV EBX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x1c],EAX
CALL 0x00030ee0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00269f48
MOV EDI,dword ptr [ESP + 0x10]
SUB ESP,0xc
PUSH EDI
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,EDI
CALL 0x00033ac8
POP EAX
PUSH dword ptr [ESP + 0x30]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x00269fb4
SUB ESP,0xc
PUSH EAX
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee966]
PUSH EAX
PUSH 0x1a9
PUSH 0x1b2
LEA EAX,[ECX + 0xfff2823c]
MOV EBX,EDI
PUSH EAX
LEA EAX,[ECX + 0xfff281ae]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
CALL 0x00032e80
ADD ESP,0x14
PUSH ESI
JMP 0x002690b2
CMP DL,0x1
JNZ 0x00269be7
CMP EAX,0x7
MOV dword ptr [ESP + 0xc],EAX
MOV EBX,EDI
JLE 0x0026a0b1
LEA ESI,[ESI]
LEA EDI,[EDI]
MOVZX EAX,byte ptr [ESI]
ADD EBX,0x8
ADD ESI,0x1
SHR AL,0x7
XOR EAX,0x1
MOV byte ptr [EBX + -0x8],AL
MOVZX EAX,byte ptr [ESI + -0x1]
SAR EAX,0x6
NOT EAX
AND EAX,0x1
MOV byte ptr [EBX + -0x7],AL
MOVZX EAX,byte ptr [ESI + -0x1]
SAR EAX,0x5
NOT EAX
AND EAX,0x1
MOV byte ptr [EBX + -0x6],AL
MOVZX EAX,byte ptr [ESI + -0x1]
SAR EAX,0x4
NOT EAX
AND EAX,0x1
MOV byte ptr [EBX + -0x5],AL
MOVZX EAX,byte ptr [ESI + -0x1]
SAR EAX,0x3
NOT EAX
AND EAX,0x1
MOV byte ptr [EBX + -0x4],AL
MOVZX EAX,byte ptr [ESI + -0x1]
SAR EAX,0x2
NOT EAX
AND EAX,0x1
MOV byte ptr [EBX + -0x3],AL
MOVZX EAX,byte ptr [ESI + -0x1]
SAR EAX,0x1
NOT EAX
AND EAX,0x1
MOV byte ptr [EBX + -0x2],AL
MOVZX EAX,byte ptr [ESI + -0x1]
MOV EDX,EBX
SUB EDX,EDI
NOT EAX
AND EAX,0x1
MOV byte ptr [EBX + -0x1],AL
MOV EAX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [EAX + 0x18]
LEA ECX,[EAX + -0x7]
MOV dword ptr [ESP + 0xc],EAX
CMP ECX,EDX
JG 0x0026a020
TEST AL,0x7
JZ 0x00269beb
MOV ECX,0x7
MOV dword ptr [ESP + 0xc],ESI
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0xc]
ADD EBX,0x1
MOV ESI,0x8
MOVZX EAX,byte ptr [EAX]
SAR EAX,CL
SUB ECX,0x1
NOT EAX
AND EAX,0x1
MOV byte ptr [EBX + -0x1],AL
MOV EAX,dword ptr [ESP + 0x4]
MOV EDX,dword ptr [EAX + 0x18]
MOV EAX,EDX
AND EAX,0x7
SUB ESI,EAX
CMP ESI,ECX
JLE 0x0026a0c8
MOV dword ptr [ESP + 0xc],EDX
JMP 0x00269beb
MOV dword ptr [ESP + 0x1c],0x0
JMP 0x0026919c
CMP EAX,0x3
MOV dword ptr [ESP + 0xc],EAX
MOV EBX,EDI
JLE 0x0026a169
MOV ESI,ESI
LEA EDI,[EDI]
MOVZX EAX,byte ptr [ESI]
ADD EBX,0x4
ADD ESI,0x1
SHR AL,0x6
MOV byte ptr [EBX + -0x4],AL
MOVZX EAX,byte ptr [ESI + -0x1]
SHR AL,0x4
AND EAX,0x3
MOV byte ptr [EBX + -0x3],AL
MOVZX EAX,byte ptr [ESI + -0x1]
SHR AL,0x2
AND EAX,0x3
MOV byte ptr [EBX + -0x2],AL
MOVZX EAX,byte ptr [ESI + -0x1]
MOV ECX,EBX
SUB ECX,EDI
AND EAX,0x3
MOV byte ptr [EBX + -0x1],AL
MOV EAX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [EAX + 0x18]
LEA EDX,[EAX + -0x3]
MOV dword ptr [ESP + 0xc],EAX
CMP ECX,EDX
JL 0x0026a120
TEST AL,0x3
JZ 0x00269beb
MOV EDX,0x3
MOV dword ptr [ESP + 0xc],ESI
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0xc]
LEA ECX,[EDX + EDX*0x1]
ADD EBX,0x1
MOV ESI,0x4
SUB EDX,0x1
MOVZX EAX,byte ptr [EAX]
SAR EAX,CL
AND EAX,0x3
MOV byte ptr [EBX + -0x1],AL
MOV EAX,dword ptr [ESP + 0x4]
MOV ECX,dword ptr [EAX + 0x18]
MOV EAX,ECX
AND EAX,0x3
SUB ESI,EAX
CMP ESI,EDX
JLE 0x0026a180
MOV dword ptr [ESP + 0xc],ECX
JMP 0x00269beb
CMP EAX,0x1
MOV dword ptr [ESP + 0xc],EAX
MOV EBX,EDI
JLE 0x0026a1f7
NOP
LEA ESI,[ESI]
MOVZX EAX,byte ptr [ESI]
ADD EBX,0x2
ADD ESI,0x1
SHR AL,0x4
MOV byte ptr [EBX + -0x2],AL
MOVZX EAX,byte ptr [ESI + -0x1]
MOV ECX,EBX
SUB ECX,EDI
AND EAX,0xf
MOV byte ptr [EBX + -0x1],AL
MOV EAX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [EAX + 0x18]
LEA EDX,[EAX + -0x1]
MOV dword ptr [ESP + 0xc],EAX
CMP ECX,EDX
JL 0x0026a1c8
TEST AL,0x1
JZ 0x00269beb
MOVZX EAX,byte ptr [ESI]
SHR AL,0x4
MOV byte ptr [EBX],AL
JMP 0x00269be0
MOV ESI,EDI
MOV EDI,dword ptr [ESP + 0x10]
SUB ESP,0xc
PUSH EDI
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,EDI
CALL 0x00033ac8
POP EBP
PUSH dword ptr [ESP + 0x30]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a242
SUB ESP,0xc
PUSH EAX
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee966]
PUSH EAX
PUSH 0x1a9
PUSH 0x1bb
JMP 0x00269fdc
MOV ESI,EAX
XOR EAX,EAX
CMP byte ptr [ESP + 0x51],0x3
SETA AL
SHL EAX,0x2
MOV dword ptr [ESI + 0x294],EAX
JMP 0x00269aaa
SUB ESP,0xc
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x000317a0
ADD ESP,0x10
XOR EAX,EAX
JMP 0x002690c4
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffec156e]
PUSH EAX
PUSH 0x190
PUSH 0x12d
LEA EAX,[ECX + 0xfff2823c]
MOV EBX,EDI
PUSH EAX
LEA EAX,[ECX + 0xfff281ae]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
CALL 0x00032e80
ADD ESP,0x20
TEST ESI,ESI
JNZ 0x00269809
JMP 0x002690c2
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x000334c0
ADD ESP,0x10
JMP 0x00269d23
MOV EAX,dword ptr [ESP + 0x4]
CMP dword ptr [EAX + 0x24],0x100
JA 0x0026aaa4
MOV EAX,dword ptr [ESP + 0x4]
FLDZ
MOV ESI,dword ptr [ESP]
MOV EAX,dword ptr [EAX + 0x28]
FST qword ptr [EAX + 0x20]
FST qword ptr [EAX + 0x28]
FSTP qword ptr [EAX + 0x30]
FLD dword ptr [ESI + 0xffec18a8]
FST qword ptr [EAX + 0x70]
FST qword ptr [EAX + 0x78]
FSTP qword ptr [EAX + 0x80]
JMP 0x00269aaa
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026a36a
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026a37e
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a396
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x15a
JMP 0x0026a2c8
MOV EDX,dword ptr [EAX + 0x24]
CMP EDX,0x100
JA 0x0026aaa4
MOVZX EAX,byte ptr [ESP + 0x43]
MOVZX ECX,byte ptr [ESP + 0x51]
IMUL EAX,ECX
CMP EAX,0x1
JZ 0x0026a31e
CMP EDX,0x10
JBE 0x00269aaa
SUB ESP,0xc
MOV ESI,dword ptr [ESP + 0x10]
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00030c90
MOV byte ptr [ESP + 0x6a],AL
ADD ESP,0xc
MOV EAX,dword ptr [ESI + 0x24]
MOV EBP,dword ptr [ESP + 0x2c]
LEA EAX,[EAX + EAX*0x2]
PUSH EBP
PUSH EAX
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033430
MOV EDX,dword ptr [ESI + 0x24]
ADD ESP,0x10
TEST EDX,EDX
JLE 0x00269aaa
MOV EAX,dword ptr [ESI + 0x28]
LEA EBX,[EDX + EDX*0x2]
MOV EDX,EBP
MOV ESI,dword ptr [ESP]
ADD EBX,EBP
MOV dword ptr [ESP + 0xc],EAX
ADD EAX,0x20
FLD dword ptr [ESI + 0xffeca14c]
MOVZX ECX,byte ptr [EDX]
ADD EDX,0x3
ADD EAX,0x50
MOV dword ptr [ESP + 0xc],ECX
FILD dword ptr [ESP + 0xc]
FLD ST1
FMUL ST1
FXCH
FSTP qword ptr [EAX + -0x50]
MOVZX ECX,byte ptr [EDX + -0x2]
MOV dword ptr [ESP + 0xc],ECX
FILD dword ptr [ESP + 0xc]
FMUL ST1
FSTP qword ptr [EAX + -0x48]
MOVZX ECX,byte ptr [EDX + -0x1]
MOV dword ptr [ESP + 0xc],ECX
FILD dword ptr [ESP + 0xc]
FMULP
FSTP qword ptr [EAX + -0x40]
CMP EDX,EBX
JNZ 0x0026a447
FSTP ST0
JMP 0x00269aaa
MOV ESI,EDI
MOV EDI,dword ptr [ESP + 0x10]
SUB ESP,0xc
PUSH EDI
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,EDI
CALL 0x00033ac8
POP EDI
PUSH dword ptr [ESP + 0x30]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a4c6
SUB ESP,0xc
PUSH EAX
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee966]
PUSH EAX
PUSH 0x1a9
PUSH 0x1c5
JMP 0x00269fdc
SUB ESP,0x4
PUSH dword ptr [ESP + 0xc]
MOV EBP,dword ptr [ESP + 0xc]
PUSH EBP
PUSH dword ptr [ESP + 0x20]
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,EDI
CALL 0x00032cc0
MOV dword ptr [ESP],EBP
CALL 0x000319e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0026ac6d
SUB ESP,0xc
PUSH EBP
CALL 0x00031b80
MOV dword ptr [ESP + 0x10],EDI
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP],EAX
CALL 0x000318e0
POP ECX
PUSH dword ptr [ESP + 0x10]
MOV EDI,EAX
MOV EBP,EDX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031f30
POP EBX
POP ECX
PUSH EBP
PUSH EDI
PUSH EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x18]
LEA EAX,[EBX + 0xffeee97a]
PUSH EAX
PUSH dword ptr [ESP + 0x20]
CALL 0x00033840
MOV dword ptr [ESP + 0x4c],EAX
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x00269de1
MOV ESI,dword ptr [ESP + 0x4]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x28]
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x000311d0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x2c]
TEST EAX,EAX
JZ 0x0026aa8f
SUB ESP,0xc
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031a70
ADD ESP,0x10
JMP 0x002690c4
MOV ECX,ESI
MOV ESI,ECX
JMP 0x002699b0
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026a5e6
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026a5fa
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a612
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
MOV EDI,dword ptr [ESP]
MOV EDX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EBX + 0x8]
LEA ECX,[EDI + 0xffece3ca]
ADD EDX,0x21f0
PUSH EDX
LEA EDX,[EDI + 0xffec3be0]
TEST EAX,EAX
PUSH EDX
CMOVZ EAX,ECX
PUSH EAX
LEA EAX,[EDI + 0xfff2823c]
PUSH dword ptr [EBX]
PUSH 0x169
PUSH EAX
LEA EAX,[EDI + 0xfff281ae]
PUSH EAX
PUSH EBX
MOV EBX,EDI
JMP 0x00269ff0
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026a677
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026a68b
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a6a3
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x16e
JMP 0x00269fdc
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026a6f0
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026a704
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a71c
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x172
JMP 0x00269fdc
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026a769
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026a77d
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a795
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x174
JMP 0x00269fdc
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026a7e2
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026a7f6
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a80e
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x176
JMP 0x00269fdc
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026a85b
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026a86f
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a887
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffec156e]
PUSH EAX
PUSH 0x190
PUSH 0x17e
JMP 0x00269fdc
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026a8d4
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026a8e8
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a900
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x146
JMP 0x0026a2c8
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026a94d
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026a961
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a979
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x14a
JMP 0x0026a2c8
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026a9c6
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026a9da
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026a9f2
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee966]
PUSH EAX
PUSH 0x1a9
PUSH 0x153
JMP 0x0026a2c8
MOV EBP,dword ptr [ESP]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBX,EBP
CALL 0x000305f0
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00031c10
MOV dword ptr [ESP],EAX
MOV EDI,EAX
LEA EAX,[ESI + 0x318]
PUSH EAX
LEA EAX,[EBP + 0xffec0deb]
PUSH EAX
LEA EAX,[EBP + 0xffeee966]
PUSH EAX
LEA EAX,[EBP + 0xfff2823c]
PUSH 0x1a9
PUSH 0x295
PUSH EAX
LEA EAX,[EBP + 0xfff281ae]
PUSH EAX
PUSH dword ptr [ESP + 0x34]
CALL 0x00032e80
ADD ESP,0x24
PUSH EDI
CALL 0x00032950
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x1c]
TEST EDX,EDX
JZ 0x0026a58c
JMP 0x0026a579
SUB ESP,0xc
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x000317a0
ADD ESP,0x10
JMP 0x002690c4
SUB ESP,0xc
MOV ESI,EAX
PUSH EDI
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,EDI
CALL 0x00033ac8
POP ECX
PUSH dword ptr [ESP + 0x30]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026aad6
SUB ESP,0xc
PUSH EAX
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV EBX,EDI
PUSH EAX
LEA EAX,[EDI + 0xfff281c4]
PUSH EAX
LEA EAX,[EDI + 0xfff2823c]
PUSH 0x1a9
PUSH 0x1d9
PUSH EAX
LEA EAX,[EDI + 0xfff281ae]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
JMP 0x00269ff0
MOV ESI,dword ptr [ESP + 0x4]
TEST EDI,EDI
JZ 0x0026abc8
SUB ESP,0xc
PUSH EDI
MOV EBP,dword ptr [ESP + 0x10]
MOV EBX,EBP
CALL 0x00033ac8
ADD ESP,0x10
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x24]
TEST EAX,EAX
JZ 0x0026abc2
SUB ESP,0xc
PUSH EAX
CALL 0x00031d50
MOV dword ptr [ESP + 0x34],EAX
ADD ESP,0x10
TEST EDI,EDI
JZ 0x0026ab65
SUB ESP,0xc
PUSH EDI
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x24]
TEST EAX,EAX
JZ 0x0026ab7d
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026ab95
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffec156e]
PUSH EAX
PUSH 0x190
PUSH 0x1a3
JMP 0x00269fdc
TEST EDI,EDI
JNZ 0x0026ab55
JMP 0x0026ab7d
CMP dword ptr [ESP + 0x24],0x0
JZ 0x0026ab7d
SUB ESP,0xc
PUSH dword ptr [ESP + 0x30]
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
MOV dword ptr [ESP + 0x34],EAX
ADD ESP,0x10
JMP 0x0026ab65
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026ac0b
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026ac1f
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0026ac37
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
MOV EDI,dword ptr [ESP + 0x4]
LEA EAX,[EDI + 0xffec3be0]
MOV ECX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x196
JMP 0x00269fdc
MOV ESI,dword ptr [ESP + 0x4]
JMP 0x0026a58c
MOV ESI,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x2c],0x0
JMP 0x0026a579
MOV EAX,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x4]
MOV EBP,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0026ac9e
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00033ac8
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0026acb2
SUB ESP,0xc
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00031d50
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [ESP + 0x28]
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,EDI
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EDI + 0xffec3be0]
PUSH EAX
LEA EAX,[EDI + 0xffeee952]
PUSH EAX
LEA EAX,[EDI + 0xfff2823c]
PUSH 0x1a9
PUSH 0x2a4
PUSH EAX
LEA EAX,[EDI + 0xfff281ae]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
JMP 0x00269ff0
MOV EBX,dword ptr [ESP]
LEA EAX,[EBX + 0xfff2824c]
PUSH EAX
LEA EAX,[EBX + 0xfff281ae]
PUSH 0x110
PUSH EAX
LEA EAX,[EBX + 0xffec1be4]
PUSH EAX
CALL 0x000313d0
MOV EBX,dword ptr [ESP]
LEA EAX,[EBX + 0xfff2824c]
PUSH EAX
LEA EAX,[EBX + 0xfff281ae]
PUSH 0x10c
PUSH EAX
LEA EAX,[EBX + 0xffec0d48]
PUSH EAX
CALL 0x000313d0
MOV EBX,dword ptr [ESP]
LEA EAX,[EBX + 0xfff2824c]
PUSH EAX
LEA EAX,[EBX + 0xfff281ae]
PUSH 0x10b
PUSH EAX
LEA EAX,[EBX + 0xffec0d20]
PUSH EAX
CALL 0x000313d0
CALL 0x002decd0
MOV EBX,dword ptr [ESP]
LEA EAX,[EBX + 0xfff2824c]
PUSH EAX
LEA EAX,[EBX + 0xfff281ae]
PUSH 0x111
PUSH EAX
LEA EAX,[EBX + 0xffec29d4]
PUSH EAX
CALL 0x000313d0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nundefined4 FUN_00268f70(int param_1,undefined4 *param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  char cVar3;\n  float fVar4;\n  undefined1 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  byte *pbVar8;\n  int *piVar9;\n  byte *pbVar10;\n  undefined1 *__s;\n  undefined1 *puVar11;\n  int iVar12;\n  uint uVar13;\n  byte *pbVar14;\n  double *pdVar15;\n  byte bVar16;\n  uint uVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  int extraout_EDX;\n  size_t sVar20;\n  int extraout_EDX_00;\n  byte bVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined1 *puVar25;\n  int iVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  byte bVar28;\n  undefined8 uVar29;\n  undefined8 uVar30;\n  undefined4 uVar31;\n  char *pcVar32;\n  int *local_378;\n  size_t local_370;\n  int local_36c;\n  int local_364;\n  int *local_360;\n  int local_358;\n  int local_350;\n  uint local_34c;\n  int local_348;\n  int local_344;\n  char local_33c;\n  char local_33b;\n  char local_33a;\n  byte local_339;\n  ushort local_338;\n  ushort local_336;\n  ushort local_334;\n  ushort local_332;\n  ushort local_330;\n  ushort local_32e;\n  undefined1 local_32c;\n  byte local_32b;\n  ushort local_32a;\n  undefined2 local_328;\n  undefined2 local_326;\n  undefined2 local_324;\n  undefined1 local_322;\n  byte local_320 [768];\n  int local_20;\n  \n  bVar28 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }\n  local_378 = (int *)AcquireImage(param_1,param_2);\n  local_350 = OpenBlob(param_1,local_378,2,param_2);\n  if (local_350 == 0) {\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }\n  iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);\n  if (iVar6 == 0) {\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }\n  else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }\nLAB_002690c4:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }\n  return uVar7;\n}\n\n" comment (function_definition "undefined4 FUN_00268f70(int param_1,undefined4 *param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  char cVar3;\n  float fVar4;\n  undefined1 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  byte *pbVar8;\n  int *piVar9;\n  byte *pbVar10;\n  undefined1 *__s;\n  undefined1 *puVar11;\n  int iVar12;\n  uint uVar13;\n  byte *pbVar14;\n  double *pdVar15;\n  byte bVar16;\n  uint uVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  int extraout_EDX;\n  size_t sVar20;\n  int extraout_EDX_00;\n  byte bVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined1 *puVar25;\n  int iVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  byte bVar28;\n  undefined8 uVar29;\n  undefined8 uVar30;\n  undefined4 uVar31;\n  char *pcVar32;\n  int *local_378;\n  size_t local_370;\n  int local_36c;\n  int local_364;\n  int *local_360;\n  int local_358;\n  int local_350;\n  uint local_34c;\n  int local_348;\n  int local_344;\n  char local_33c;\n  char local_33b;\n  char local_33a;\n  byte local_339;\n  ushort local_338;\n  ushort local_336;\n  ushort local_334;\n  ushort local_332;\n  ushort local_330;\n  ushort local_32e;\n  undefined1 local_32c;\n  byte local_32b;\n  ushort local_32a;\n  undefined2 local_328;\n  undefined2 local_326;\n  undefined2 local_324;\n  undefined1 local_322;\n  byte local_320 [768];\n  int local_20;\n  \n  bVar28 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }\n  local_378 = (int *)AcquireImage(param_1,param_2);\n  local_350 = OpenBlob(param_1,local_378,2,param_2);\n  if (local_350 == 0) {\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }\n  iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);\n  if (iVar6 == 0) {\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }\n  else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }\nLAB_002690c4:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }\n  return uVar7;\n}" type_identifier (function_declarator "FUN_00268f70(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  char cVar3;\n  float fVar4;\n  undefined1 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  byte *pbVar8;\n  int *piVar9;\n  byte *pbVar10;\n  undefined1 *__s;\n  undefined1 *puVar11;\n  int iVar12;\n  uint uVar13;\n  byte *pbVar14;\n  double *pdVar15;\n  byte bVar16;\n  uint uVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  int extraout_EDX;\n  size_t sVar20;\n  int extraout_EDX_00;\n  byte bVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined1 *puVar25;\n  int iVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  byte bVar28;\n  undefined8 uVar29;\n  undefined8 uVar30;\n  undefined4 uVar31;\n  char *pcVar32;\n  int *local_378;\n  size_t local_370;\n  int local_36c;\n  int local_364;\n  int *local_360;\n  int local_358;\n  int local_350;\n  uint local_34c;\n  int local_348;\n  int local_344;\n  char local_33c;\n  char local_33b;\n  char local_33a;\n  byte local_339;\n  ushort local_338;\n  ushort local_336;\n  ushort local_334;\n  ushort local_332;\n  ushort local_330;\n  ushort local_32e;\n  undefined1 local_32c;\n  byte local_32b;\n  ushort local_32a;\n  undefined2 local_328;\n  undefined2 local_326;\n  undefined2 local_324;\n  undefined1 local_322;\n  byte local_320 [768];\n  int local_20;\n  \n  bVar28 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }\n  local_378 = (int *)AcquireImage(param_1,param_2);\n  local_350 = OpenBlob(param_1,local_378,2,param_2);\n  if (local_350 == 0) {\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }\n  iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);\n  if (iVar6 == 0) {\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }\n  else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }\nLAB_002690c4:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }\n  return uVar7;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "float fVar4;" primitive_type identifier ;) (declaration "undefined1 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "undefined1 *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "double *pdVar15;" primitive_type (pointer_declarator "*pdVar15" * identifier) ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "size_t sVar20;" primitive_type identifier ;) (declaration "int extraout_EDX_00;" primitive_type identifier ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "byte bVar28;" type_identifier identifier ;) (declaration "undefined8 uVar29;" type_identifier identifier ;) (declaration "undefined8 uVar30;" type_identifier identifier ;) (declaration "undefined4 uVar31;" type_identifier identifier ;) (declaration "char *pcVar32;" primitive_type (pointer_declarator "*pcVar32" * identifier) ;) (declaration "int *local_378;" primitive_type (pointer_declarator "*local_378" * identifier) ;) (declaration "size_t local_370;" primitive_type identifier ;) (declaration "int local_36c;" primitive_type identifier ;) (declaration "int local_364;" primitive_type identifier ;) (declaration "int *local_360;" primitive_type (pointer_declarator "*local_360" * identifier) ;) (declaration "int local_358;" primitive_type identifier ;) (declaration "int local_350;" primitive_type identifier ;) (declaration "uint local_34c;" type_identifier identifier ;) (declaration "int local_348;" primitive_type identifier ;) (declaration "int local_344;" primitive_type identifier ;) (declaration "char local_33c;" primitive_type identifier ;) (declaration "char local_33b;" primitive_type identifier ;) (declaration "char local_33a;" primitive_type identifier ;) (declaration "byte local_339;" type_identifier identifier ;) (declaration "ushort local_338;" type_identifier identifier ;) (declaration "ushort local_336;" type_identifier identifier ;) (declaration "ushort local_334;" type_identifier identifier ;) (declaration "ushort local_332;" type_identifier identifier ;) (declaration "ushort local_330;" type_identifier identifier ;) (declaration "ushort local_32e;" type_identifier identifier ;) (declaration "undefined1 local_32c;" type_identifier identifier ;) (declaration "byte local_32b;" type_identifier identifier ;) (declaration "ushort local_32a;" type_identifier identifier ;) (declaration "undefined2 local_328;" type_identifier identifier ;) (declaration "undefined2 local_326;" type_identifier identifier ;) (declaration "undefined2 local_324;" type_identifier identifier ;) (declaration "undefined1 local_322;" type_identifier identifier ;) (declaration "byte local_320 [768];" type_identifier (array_declarator "local_320 [768]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "bVar28 = 0;" (assignment_expression "bVar28 = 0" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\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/pcx.c",0x10b,"ReadPCXImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f4) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x31f4) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x31f4)" * (cast_expression "(int *)(param_1 + 0x31f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f4)" ( (binary_expression "param_1 + 0x31f4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 )" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 )" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f0) != 0)" ( (binary_expression "*(int *)(param_1 + 0x31f0) != 0" (pointer_expression "*(int *)(param_1 + 0x31f0)" * (cast_expression "(int *)(param_1 + 0x31f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f0)" ( (binary_expression "param_1 + 0x31f0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }" { (expression_statement "LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0)" identifier (argument_list "(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0)" ( number_literal , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002f75ae" & identifier) , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }" if (parenthesized_expression "(param_2 == (undefined4 *)0x0)" ( (binary_expression "param_2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (if_statement "if (param_2[7] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }" if (parenthesized_expression "(param_2[7] != -0x54535255)" ( (binary_expression "param_2[7] != -0x54535255" (subscript_expression "param_2[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (expression_statement "local_378 = (int *)AcquireImage(param_1,param_2);" (assignment_expression "local_378 = (int *)AcquireImage(param_1,param_2)" identifier = (cast_expression "(int *)AcquireImage(param_1,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "local_350 = OpenBlob(param_1,local_378,2,param_2);" (assignment_expression "local_350 = OpenBlob(param_1,local_378,2,param_2)" identifier = (call_expression "OpenBlob(param_1,local_378,2,param_2)" identifier (argument_list "(param_1,local_378,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (local_350 == 0) {\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }" if (parenthesized_expression "(local_350 == 0)" ( (binary_expression "local_350 == 0" identifier == number_literal) )) (compound_statement "{\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }" { (expression_statement "DestroyImageList(local_378);" (call_expression "DestroyImageList(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_002690c4;" goto statement_identifier ;) })) (expression_statement "iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);" (assignment_expression "iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566)" identifier = (call_expression "LocaleCompare(param_1 + 0x1f0,&DAT_002e2566)" identifier (argument_list "(param_1 + 0x1f0,&DAT_002e2566)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , (pointer_expression "&DAT_002e2566" & identifier) )))) ;) (if_statement "if (iVar6 == 0) {\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }\n  else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }" { (expression_statement "iVar6 = ReadBlobLSBLong(local_378);" (assignment_expression "iVar6 = ReadBlobLSBLong(local_378)" identifier = (call_expression "ReadBlobLSBLong(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }" if (parenthesized_expression "(iVar6 == 0x3ade68b1)" ( (binary_expression "iVar6 == 0x3ade68b1" identifier == number_literal) )) (compound_statement "{\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }" { (expression_statement "local_360 = (int *)AcquireQuantumMemory(0x400,8);" (assignment_expression "local_360 = (int *)AcquireQuantumMemory(0x400,8)" identifier = (cast_expression "(int *)AcquireQuantumMemory(0x400,8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(0x400,8)" identifier (argument_list "(0x400,8)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar9 = local_360;" (assignment_expression "piVar9 = local_360" identifier = identifier) ;) (if_statement "if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }" if (parenthesized_expression "(local_360 == (int *)0x0)" ( (binary_expression "local_360 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }" { (expression_statement "pcVar32 = "MemoryAllocationFailed";" (assignment_expression "pcVar32 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar31 = 400;" (assignment_expression "uVar31 = 400" identifier = number_literal) ;) (expression_statement "uVar7 = 0x12d;" (assignment_expression "uVar7 = 0x12d" identifier = number_literal) ;) (labeled_statement "LAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" statement_identifier : (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;)) }) (else_clause "else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }" else (compound_statement "{\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }" { (do_statement "do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);" do (compound_statement "{\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        }" { (expression_statement "iVar6 = ReadBlobLSBLong(local_378);" (assignment_expression "iVar6 = ReadBlobLSBLong(local_378)" identifier = (call_expression "ReadBlobLSBLong(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar9 = iVar6;" (assignment_expression "*piVar9 = iVar6" (pointer_expression "*piVar9" * identifier) = identifier) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar9 = piVar9 + 2;" (assignment_expression "piVar9 = piVar9 + 2" identifier = (binary_expression "piVar9 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar9 != local_360 + 0x800)" ( (binary_expression "piVar9 != local_360 + 0x800" identifier != (binary_expression "local_360 + 0x800" identifier + number_literal)) )) ;) (expression_statement "SeekBlob(local_378,*local_360,local_360[1],0);" (call_expression "SeekBlob(local_378,*local_360,local_360[1],0)" identifier (argument_list "(local_378,*local_360,local_360[1],0)" ( identifier , (pointer_expression "*local_360" * identifier) , (subscript_expression "local_360[1]" identifier [ number_literal ]) , number_literal ))) ;) (if_statement "if (-1 < extraout_EDX) goto LAB_0026919c;" if (parenthesized_expression "(-1 < extraout_EDX)" ( (binary_expression "-1 < extraout_EDX" number_literal < identifier) )) (goto_statement "goto LAB_0026919c;" goto statement_identifier ;)) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , number_literal , number_literal , (string_literal ""ImproperImageHeader"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) }))) }) (else_clause "else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }" else (compound_statement "{\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }" { (expression_statement "ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , number_literal , number_literal , (string_literal ""ImproperImageHeader"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) }))) (if_statement "if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }" if (parenthesized_expression "(local_378 != (int *)0x0)" ( (binary_expression "local_378 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }" { (labeled_statement "LAB_002690b2:\n      CloseBlob(local_378);" statement_identifier : (expression_statement "CloseBlob(local_378);" (call_expression "CloseBlob(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;)) (expression_statement "DestroyImageList(local_378);" (call_expression "DestroyImageList(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;) })) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }" else (compound_statement "{\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }" { (expression_statement "local_360 = (int *)0x0;" (assignment_expression "local_360 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);" statement_identifier : (expression_statement "iVar6 = ReadBlob(local_378,1,&local_33c);" (assignment_expression "iVar6 = ReadBlob(local_378,1,&local_33c)" identifier = (call_expression "ReadBlob(local_378,1,&local_33c)" identifier (argument_list "(local_378,1,&local_33c)" ( identifier , number_literal , (pointer_expression "&local_33c" & identifier) )))) ;)) (expression_statement "local_364 = 0;" (assignment_expression "local_364 = 0" identifier = number_literal) ;) (expression_statement "local_344 = 1;" (assignment_expression "local_344 = 1" identifier = number_literal) ;) (expression_statement "local_36c = 0;" (assignment_expression "local_36c = 0" identifier = number_literal) ;) (do_statement "do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);" do (compound_statement "{\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    }" { (expression_statement "local_33b = ReadBlobByte(local_378);" (assignment_expression "local_33b = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "((iVar6 != 1) || (local_33c != '\n'))" ( (binary_expression "(iVar6 != 1) || (local_33c != '\n')" (parenthesized_expression "(iVar6 != 1)" ( (binary_expression "iVar6 != 1" identifier != number_literal) )) || (parenthesized_expression "(local_33c != '\n')" ( (binary_expression "local_33c != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar7 = 0x146;" (assignment_expression "uVar7 = 0x146" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (expression_statement "local_33a = ReadBlobByte(local_378);" (assignment_expression "local_33a = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar6 = ReadBlobByte(local_378);" (assignment_expression "iVar6 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar7 = 0x14a;" (assignment_expression "uVar7 = 0x14a" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (expression_statement "local_339 = (byte)iVar6;" (assignment_expression "local_339 = (byte)iVar6" identifier = (cast_expression "(byte)iVar6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "local_338 = ReadBlobLSBShort(local_378);" (assignment_expression "local_338 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_336 = ReadBlobLSBShort(local_378);" (assignment_expression "local_336 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_334 = ReadBlobLSBShort(local_378);" (assignment_expression "local_334 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_332 = ReadBlobLSBShort(local_378);" (assignment_expression "local_332 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_330 = ReadBlobLSBShort(local_378);" (assignment_expression "local_330 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_32e = ReadBlobLSBShort(local_378);" (assignment_expression "local_32e = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar6 = EOFBlob(local_378);" (assignment_expression "iVar6 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar7 = 0x153;" (assignment_expression "uVar7 = 0x153" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (if_statement "if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "(((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1)))))" ( (binary_expression "((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))" (parenthesized_expression "((local_334 < local_338) || (local_332 < local_336))" ( (binary_expression "(local_334 < local_338) || (local_332 < local_336)" (parenthesized_expression "(local_334 < local_338)" ( (binary_expression "local_334 < local_338" identifier < identifier) )) || (parenthesized_expression "(local_332 < local_336)" ( (binary_expression "local_332 < local_336" identifier < identifier) ))) )) || (parenthesized_expression "(((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))" ( (parenthesized_expression "((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1)))" ( (binary_expression "(local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))" (binary_expression "(local_339 - 4 & 0xfb) != 0" (parenthesized_expression "(local_339 - 4 & 0xfb)" ( (binary_expression "local_339 - 4 & 0xfb" (binary_expression "local_339 - 4" identifier - number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "(1 < (byte)(local_339 - 1))" ( (binary_expression "1 < (byte)(local_339 - 1)" number_literal < (call_expression "(byte)(local_339 - 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_339 - 1)" ( (binary_expression "local_339 - 1" identifier - number_literal) )))) ))) )) ))) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar7 = 0x15a;" (assignment_expression "uVar7 = 0x15a" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (expression_statement "iVar6 = ((uint)local_334 - (uint)local_338) + 1;" (assignment_expression "iVar6 = ((uint)local_334 - (uint)local_338) + 1" identifier = (binary_expression "((uint)local_334 - (uint)local_338) + 1" (parenthesized_expression "((uint)local_334 - (uint)local_338)" ( (binary_expression "(uint)local_334 - (uint)local_338" (cast_expression "(uint)local_334" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(uint)local_338" ( (type_descriptor "uint" type_identifier) ) identifier)) )) + number_literal)) ;) (expression_statement "iVar26 = ((uint)local_332 - (uint)local_336) + 1;" (assignment_expression "iVar26 = ((uint)local_332 - (uint)local_336) + 1" identifier = (binary_expression "((uint)local_332 - (uint)local_336) + 1" (parenthesized_expression "((uint)local_332 - (uint)local_336)" ( (binary_expression "(uint)local_332 - (uint)local_336" (cast_expression "(uint)local_332" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(uint)local_336" ( (type_descriptor "uint" type_identifier) ) identifier)) )) + number_literal)) ;) (expression_statement "local_378[8] = (uint)local_339;" (assignment_expression "local_378[8] = (uint)local_339" (subscript_expression "local_378[8]" identifier [ number_literal ]) = (cast_expression "(uint)local_339" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_378[6] = iVar6;" (assignment_expression "local_378[6] = iVar6" (subscript_expression "local_378[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(double *)(local_378 + 0x7c) = (double)local_330;" (assignment_expression "*(double *)(local_378 + 0x7c) = (double)local_330" (pointer_expression "*(double *)(local_378 + 0x7c)" * (cast_expression "(double *)(local_378 + 0x7c)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_378 + 0x7c)" ( (binary_expression "local_378 + 0x7c" identifier + number_literal) )))) = (cast_expression "(double)local_330" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_378[7] = iVar26;" (assignment_expression "local_378[7] = iVar26" (subscript_expression "local_378[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_378[0x77] = 1;" (assignment_expression "local_378[0x77] = 1" (subscript_expression "local_378[0x77]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(double *)(local_378 + 0x7e) = (double)local_32e;" (assignment_expression "*(double *)(local_378 + 0x7e) = (double)local_32e" (pointer_expression "*(double *)(local_378 + 0x7e)" * (cast_expression "(double *)(local_378 + 0x7e)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_378 + 0x7e)" ( (binary_expression "local_378 + 0x7e" identifier + number_literal) )))) = (cast_expression "(double)local_32e" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_378[9] = 0x10;" (assignment_expression "local_378[9] = 0x10" (subscript_expression "local_378[9]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;" if (parenthesized_expression "(((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))" ( (binary_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" (parenthesized_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0))" ( (binary_expression "(*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)" (parenthesized_expression "(*(int *)(param_1 + 0x1bc) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1bc) != 0" (pointer_expression "*(int *)(param_1 + 0x1bc)" * (cast_expression "(int *)(param_1 + 0x1bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1bc)" ( (binary_expression "param_1 + 0x1bc" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" ( (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) - number_literal) <= (cast_expression "(uint)local_378[0x91]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[0x91]" identifier [ number_literal ]))) ))) )) (goto_statement "goto LAB_0026aa7e;" goto statement_identifier ;)) (expression_statement "uVar29 = GetBlobSize(local_378);" (assignment_expression "uVar29 = GetBlobSize(local_378)" identifier = (call_expression "GetBlobSize(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))" ( (binary_expression "((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff)" (parenthesized_expression "((int)((ulonglong)uVar29 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar29 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar29 >> 0x20)" ( (binary_expression "(ulonglong)uVar29 >> 0x20" (cast_expression "(ulonglong)uVar29" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff)" ( (binary_expression "(uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff" (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "(uint)(iVar6 * iVar26) / 0xff" (call_expression "(uint)(iVar6 * iVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar6 * iVar26)" ( (binary_expression "iVar6 * iVar26" identifier * identifier) ))) / number_literal)) ))) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "InsufficientImageDataInFile";" (assignment_expression "pcVar32 = "InsufficientImageDataInFile"" identifier = (string_literal ""InsufficientImageDataInFile"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x166;" (assignment_expression "uVar31 = 0x166" identifier = number_literal) ;) (labeled_statement "LAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" statement_identifier : (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_002690b2;" goto statement_identifier ;) })) (expression_statement "local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);" (assignment_expression "local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2)" identifier = (call_expression "SetImageExtent(local_378,local_378[6],local_378[7],param_2)" identifier (argument_list "(local_378,local_378[6],local_378[7],param_2)" ( identifier , (subscript_expression "local_378[6]" identifier [ number_literal ]) , (subscript_expression "local_378[7]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(local_350 == 0)" ( (binary_expression "local_350 == 0" identifier == number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = (char *)param_2[2];" (assignment_expression "pcVar32 = (char *)param_2[2]" identifier = (cast_expression "(char *)param_2[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (if_statement "if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }" if (parenthesized_expression "((char *)param_2[2] == (char *)0x0)" ( (binary_expression "(char *)param_2[2] == (char *)0x0" (cast_expression "(char *)param_2[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar32 = "unknown";\n        }" { (expression_statement "pcVar32 = "unknown";" (assignment_expression "pcVar32 = "unknown"" identifier = (string_literal ""unknown"" " string_content ")) ;) })) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar31 = 0x169;" (assignment_expression "uVar31 = 0x169" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "SetImageBackgroundColor(local_378,param_2);" (call_expression "SetImageBackgroundColor(local_378,param_2)" identifier (argument_list "(local_378,param_2)" ( identifier , identifier ))) ;) (expression_statement "pbVar10 = local_320;" (assignment_expression "pbVar10 = local_320" identifier = identifier) ;) (for_statement "for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }" for ( (assignment_expression "iVar6 = 0xc0" identifier = number_literal) ; (binary_expression "iVar6 != 0" identifier != number_literal) ; (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ) (compound_statement "{\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }" { (expression_statement "pbVar10[0] = 0;" (assignment_expression "pbVar10[0] = 0" (subscript_expression "pbVar10[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar10[1] = 0;" (assignment_expression "pbVar10[1] = 0" (subscript_expression "pbVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar10[2] = 0;" (assignment_expression "pbVar10[2] = 0" (subscript_expression "pbVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar10[3] = 0;" (assignment_expression "pbVar10[3] = 0" (subscript_expression "pbVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4" identifier = (binary_expression "pbVar10 + (uint)bVar28 * -8 + 4" (binary_expression "pbVar10 + (uint)bVar28 * -8" identifier + (binary_expression "(uint)bVar28 * -8" (cast_expression "(uint)bVar28" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);" (assignment_expression "iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320)" identifier = (call_expression "ReadBlob(local_378,local_378[9] * 3,local_320)" identifier (argument_list "(local_378,local_378[9] * 3,local_320)" ( identifier , (binary_expression "local_378[9] * 3" (subscript_expression "local_378[9]" identifier [ number_literal ]) * number_literal) , identifier )))) ;) (if_statement "if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(local_378[9] * 3 != iVar6)" ( (binary_expression "local_378[9] * 3 != iVar6" (binary_expression "local_378[9] * 3" (subscript_expression "local_378[9]" identifier [ number_literal ]) * number_literal) != identifier) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x16e;" (assignment_expression "uVar31 = 0x16e" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "local_32c = ReadBlobByte(local_378);" (assignment_expression "local_32c = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_32b = ReadBlobByte(local_378);" (assignment_expression "local_32b = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(local_32b == 0)" ( (binary_expression "local_32b == 0" identifier == number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x172;" (assignment_expression "uVar31 = 0x172" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(6 < local_32b)" ( (binary_expression "6 < local_32b" number_literal < identifier) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x174;" (assignment_expression "uVar31 = 0x174" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar17 = (uint)local_32b * (uint)local_339;" (assignment_expression "uVar17 = (uint)local_32b * (uint)local_339" identifier = (binary_expression "(uint)local_32b * (uint)local_339" (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier) * (cast_expression "(uint)local_339" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(0x3f < uVar17)" ( (binary_expression "0x3f < uVar17" number_literal < identifier) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x176;" (assignment_expression "uVar31 = 0x176" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }" if (parenthesized_expression "(((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1))))" ( (binary_expression "((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))" (parenthesized_expression "((local_32b == 1) || (local_339 != 8))" ( (binary_expression "(local_32b == 1) || (local_339 != 8)" (parenthesized_expression "(local_32b == 1)" ( (binary_expression "local_32b == 1" identifier == number_literal) )) || (parenthesized_expression "(local_339 != 8)" ( (binary_expression "local_339 != 8" identifier != number_literal) ))) )) && (parenthesized_expression "(((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))" ( (parenthesized_expression "((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1))" ( (binary_expression "(local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)" (binary_expression "(local_33b - 3U & 0xfd) == 0" (parenthesized_expression "(local_33b - 3U & 0xfd)" ( (binary_expression "local_33b - 3U & 0xfd" (binary_expression "local_33b - 3U" identifier - number_literal) & number_literal) )) == number_literal) || (parenthesized_expression "(uVar17 == 1)" ( (binary_expression "uVar17 == 1" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }" { (expression_statement "uVar17 = 1 << ((byte)uVar17 & 0x1f);" (assignment_expression "uVar17 = 1 << ((byte)uVar17 & 0x1f)" identifier = (binary_expression "1 << ((byte)uVar17 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar17 & 0x1f)" ( (binary_expression "(byte)uVar17 & 0x1f" (cast_expression "(byte)uVar17" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }" if (parenthesized_expression "(0x100 < uVar17)" ( (binary_expression "0x100 < uVar17" number_literal < identifier) )) (compound_statement "{\n          uVar17 = 0x100;\n        }" { (expression_statement "uVar17 = 0x100;" (assignment_expression "uVar17 = 0x100" identifier = number_literal) ;) })) (expression_statement "local_378[9] = uVar17;" (assignment_expression "local_378[9] = uVar17" (subscript_expression "local_378[9]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n        uVar17 = local_378[9];\n      }" else (compound_statement "{\n        uVar17 = local_378[9];\n      }" { (expression_statement "uVar17 = local_378[9];" (assignment_expression "uVar17 = local_378[9]" identifier = (subscript_expression "local_378[9]" identifier [ number_literal ])) ;) }))) (expression_statement "iVar6 = AcquireImageColormap(local_378,uVar17,param_2);" (assignment_expression "iVar6 = AcquireImageColormap(local_378,uVar17,param_2)" identifier = (call_expression "AcquireImageColormap(local_378,uVar17,param_2)" identifier (argument_list "(local_378,uVar17,param_2)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "MemoryAllocationFailed";" (assignment_expression "pcVar32 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar7 = 400;" (assignment_expression "uVar7 = 400" identifier = number_literal) ;) (expression_statement "uVar31 = 0x17e;" (assignment_expression "uVar31 = 0x17e" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }" if (parenthesized_expression "((7 < local_339) && (local_32b != 1))" ( (binary_expression "(7 < local_339) && (local_32b != 1)" (parenthesized_expression "(7 < local_339)" ( (binary_expression "7 < local_339" number_literal < identifier) )) && (parenthesized_expression "(local_32b != 1)" ( (binary_expression "local_32b != 1" identifier != number_literal) ))) )) (compound_statement "{\n        *local_378 = 1;\n      }" { (expression_statement "*local_378 = 1;" (assignment_expression "*local_378 = 1" (pointer_expression "*local_378" * identifier) = number_literal) ;) })) (expression_statement "fVar4 = DAT_002e814c;" (assignment_expression "fVar4 = DAT_002e814c" identifier = identifier) ;) (expression_statement "iVar6 = local_378[9];" (assignment_expression "iVar6 = local_378[9]" identifier = (subscript_expression "local_378[9]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }" if (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) (compound_statement "{\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }" { (expression_statement "pbVar10 = local_320;" (assignment_expression "pbVar10 = local_320" identifier = identifier) ;) (expression_statement "pdVar15 = (double *)(local_378[10] + 0x20);" (assignment_expression "pdVar15 = (double *)(local_378[10] + 0x20)" identifier = (cast_expression "(double *)(local_378[10] + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_378[10] + 0x20)" ( (binary_expression "local_378[10] + 0x20" (subscript_expression "local_378[10]" identifier [ number_literal ]) + number_literal) )))) ;) (do_statement "do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);" do (compound_statement "{\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        }" { (expression_statement "pbVar8 = pbVar10 + 3;" (assignment_expression "pbVar8 = pbVar10 + 3" identifier = (binary_expression "pbVar10 + 3" identifier + number_literal)) ;) (expression_statement "*pdVar15 = (double)((float)*pbVar10 * fVar4);" (assignment_expression "*pdVar15 = (double)((float)*pbVar10 * fVar4)" (pointer_expression "*pdVar15" * identifier) = (cast_expression "(double)((float)*pbVar10 * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*pbVar10 * fVar4)" ( (binary_expression "(float)*pbVar10 * fVar4" (cast_expression "(float)*pbVar10" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*pbVar10" * identifier)) * identifier) )))) ;) (expression_statement "pdVar15[1] = (double)((float)pbVar10[1] * fVar4);" (assignment_expression "pdVar15[1] = (double)((float)pbVar10[1] * fVar4)" (subscript_expression "pdVar15[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar10[1] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar10[1] * fVar4)" ( (binary_expression "(float)pbVar10[1] * fVar4" (cast_expression "(float)pbVar10[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar10[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pdVar15[2] = (double)((float)pbVar10[2] * fVar4);" (assignment_expression "pdVar15[2] = (double)((float)pbVar10[2] * fVar4)" (subscript_expression "pdVar15[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar10[2] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar10[2] * fVar4)" ( (binary_expression "(float)pbVar10[2] * fVar4" (cast_expression "(float)pbVar10[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar10[2]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pbVar10 = pbVar8;" (assignment_expression "pbVar10 = pbVar8" identifier = identifier) ;) (expression_statement "pdVar15 = pdVar15 + 10;" (assignment_expression "pdVar15 = pdVar15 + 10" identifier = (binary_expression "pdVar15 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar8 != local_320 + iVar6 * 3)" ( (binary_expression "pbVar8 != local_320 + iVar6 * 3" identifier != (binary_expression "local_320 + iVar6 * 3" identifier + (binary_expression "iVar6 * 3" identifier * number_literal))) )) ;) })) (expression_statement "local_32a = ReadBlobLSBShort(local_378);" (assignment_expression "local_32a = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_328 = ReadBlobLSBShort(local_378);" (assignment_expression "local_328 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_326 = ReadBlobLSBShort(local_378);" (assignment_expression "local_326 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_324 = ReadBlobLSBShort(local_378);" (assignment_expression "local_324 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar6 = 0x36;" (assignment_expression "iVar6 = 0x36" identifier = number_literal) ;) (do_statement "do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);" do (compound_statement "{\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      }" { (expression_statement "ReadBlobByte(local_378);" (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) ;) (expression_statement "uVar24 = (uint)local_32a;" (assignment_expression "uVar24 = (uint)local_32a" identifier = (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar17 = local_378[7];" (assignment_expression "uVar17 = local_378[7]" identifier = (subscript_expression "local_378[7]" identifier [ number_literal ])) ;) (if_statement "if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "((uVar17 == 0) || (uVar24 == 0))" ( (binary_expression "(uVar17 == 0) || (uVar24 == 0)" (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }" { (labeled_statement "LAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" statement_identifier : (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) }))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x192;" (assignment_expression "uVar31 = 0x192" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar22 = uVar24 * uVar17;" (assignment_expression "uVar22 = uVar24 * uVar17" identifier = (binary_expression "uVar24 * uVar17" identifier * identifier)) ;) (if_statement "if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }" if (parenthesized_expression "(uVar24 != uVar22 / uVar17)" ( (binary_expression "uVar24 != uVar22 / uVar17" identifier != (binary_expression "uVar22 / uVar17" identifier / identifier)) )) (compound_statement "{\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }" { (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar9 = 0xc;" (assignment_expression "*piVar9 = 0xc" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (goto_statement "goto LAB_0026963a;" goto statement_identifier ;) })) (expression_statement "uVar17 = (uint)local_32b;" (assignment_expression "uVar17 = (uint)local_32b" identifier = (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "((uVar22 == 0) || (uVar17 == 0))" ( (binary_expression "(uVar22 == 0) || (uVar17 == 0)" (parenthesized_expression "(uVar22 == 0)" ( (binary_expression "uVar22 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }" { (labeled_statement "LAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" statement_identifier : (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) }))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x194;" (assignment_expression "uVar31 = 0x194" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar24 = uVar17 * uVar22;" (assignment_expression "uVar24 = uVar17 * uVar22" identifier = (binary_expression "uVar17 * uVar22" identifier * identifier)) ;) (if_statement "if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }" if (parenthesized_expression "(uVar17 != uVar24 / uVar22)" ( (binary_expression "uVar17 != uVar24 / uVar22" identifier != (binary_expression "uVar24 / uVar22" identifier / identifier)) )) (compound_statement "{\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }" { (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar9 = 0xc;" (assignment_expression "*piVar9 = 0xc" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (goto_statement "goto LAB_002696ee;" goto statement_identifier ;) })) (expression_statement "uVar17 = local_339 * uVar17 * local_378[6];" (assignment_expression "uVar17 = local_339 * uVar17 * local_378[6]" identifier = (binary_expression "local_339 * uVar17 * local_378[6]" (binary_expression "local_339 * uVar17" identifier * identifier) * (subscript_expression "local_378[6]" identifier [ number_literal ]))) ;) (if_statement "if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0)" ( (binary_expression "uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0" (binary_expression "uVar24 * 8 <= uVar17" (binary_expression "uVar24 * 8" identifier * number_literal) <= identifier) && (binary_expression "uVar17 + uVar24 * -8 != 0" (binary_expression "uVar17 + uVar24 * -8" identifier + (binary_expression "uVar24 * -8" identifier * number_literal)) != number_literal)) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x196;" (assignment_expression "uVar31 = 0x196" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar29 = GetBlobSize(local_378);" (assignment_expression "uVar29 = GetBlobSize(local_378)" identifier = (call_expression "GetBlobSize(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80))" ( (binary_expression "((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)" (parenthesized_expression "((int)((ulonglong)uVar29 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar29 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar29 >> 0x20)" ( (binary_expression "(ulonglong)uVar29 >> 0x20" (cast_expression "(ulonglong)uVar29" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar29 < (uVar24 >> 5) + 0x80)" ( (binary_expression "(uint)uVar29 < (uVar24 >> 5) + 0x80" (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "(uVar24 >> 5) + 0x80" (parenthesized_expression "(uVar24 >> 5)" ( (binary_expression "uVar24 >> 5" identifier >> number_literal) )) + number_literal)) ))) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x198;" (assignment_expression "uVar31 = 0x198" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "bVar16 = local_32b;" (assignment_expression "bVar16 = local_32b" identifier = identifier) ;) (if_statement "if (local_32b < 8) {\n        bVar16 = 8;\n      }" if (parenthesized_expression "(local_32b < 8)" ( (binary_expression "local_32b < 8" identifier < number_literal) )) (compound_statement "{\n        bVar16 = 8;\n      }" { (expression_statement "bVar16 = 8;" (assignment_expression "bVar16 = 8" identifier = number_literal) ;) })) (expression_statement "uVar17 = (uint)local_32a;" (assignment_expression "uVar17 = (uint)local_32a" identifier = (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }" if (parenthesized_expression "((uint)local_32a < (uint)local_378[6])" ( (binary_expression "(uint)local_32a < (uint)local_378[6]" (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)local_378[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[6]" identifier [ number_literal ]))) )) (compound_statement "{\n        uVar17 = local_378[6];\n      }" { (expression_statement "uVar17 = local_378[6];" (assignment_expression "uVar17 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) })) (expression_statement "pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);" (assignment_expression "pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16)" identifier = (cast_expression "(byte *)AcquireQuantumMemory(uVar17,bVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(uVar17,bVar16)" identifier (argument_list "(uVar17,bVar16)" ( identifier , identifier ))))) ;) (expression_statement "iVar6 = AcquireVirtualMemory(uVar24,2);" (assignment_expression "iVar6 = AcquireVirtualMemory(uVar24,2)" identifier = (call_expression "AcquireVirtualMemory(uVar24,2)" identifier (argument_list "(uVar24,2)" ( identifier , number_literal )))) ;) (if_statement "if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "((pbVar10 == (byte *)0x0) || (iVar6 == 0))" ( (binary_expression "(pbVar10 == (byte *)0x0) || (iVar6 == 0)" (parenthesized_expression "(pbVar10 == (byte *)0x0)" ( (binary_expression "pbVar10 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) ))) )) (compound_statement "{\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" if (parenthesized_expression "(pbVar10 == (byte *)0x0)" ( (binary_expression "pbVar10 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }" { (if_statement "if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }" { (expression_statement "local_358 = RelinquishVirtualMemory(iVar6);" (assignment_expression "local_358 = RelinquishVirtualMemory(iVar6)" identifier = (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (goto_statement "goto LAB_0026ab65;" goto statement_identifier ;) })) }) (else_clause "else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" else (compound_statement "{\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" { (expression_statement "iVar26 = RelinquishMagickMemory(pbVar10);" (assignment_expression "iVar26 = RelinquishMagickMemory(pbVar10)" identifier = (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }" { (expression_statement "local_358 = 0;" (assignment_expression "local_358 = 0" identifier = number_literal) ;) (if_statement "if (iVar26 == 0) goto LAB_0026ab7d;" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0026ab7d;" goto statement_identifier ;)) }) (else_clause "else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }" else (compound_statement "{\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }" { (expression_statement "local_358 = RelinquishVirtualMemory(iVar6);" (assignment_expression "local_358 = RelinquishVirtualMemory(iVar6)" identifier = (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (iVar26 == 0) goto LAB_0026ab65;" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0026ab65;" goto statement_identifier ;)) }))) (expression_statement "RelinquishMagickMemory(iVar26);" (call_expression "RelinquishMagickMemory(iVar26)" identifier (argument_list "(iVar26)" ( identifier ))) ;) (labeled_statement "LAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }" statement_identifier : (if_statement "if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }" if (parenthesized_expression "(local_358 != 0)" ( (binary_expression "local_358 != 0" identifier != number_literal) )) (compound_statement "{\n            RelinquishVirtualMemory(local_358);\n          }" { (expression_statement "RelinquishVirtualMemory(local_358);" (call_expression "RelinquishVirtualMemory(local_358)" identifier (argument_list "(local_358)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" statement_identifier : (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) }))) (expression_statement "pcVar32 = "MemoryAllocationFailed";" (assignment_expression "pcVar32 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar7 = 400;" (assignment_expression "uVar7 = 400" identifier = number_literal) ;) (expression_statement "uVar31 = 0x1a3;" (assignment_expression "uVar31 = 0x1a3" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar17 = local_378[6];" (assignment_expression "uVar17 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (if_statement "if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }" if (parenthesized_expression "((uint)local_378[6] <= (uint)local_32a)" ( (binary_expression "(uint)local_378[6] <= (uint)local_32a" (cast_expression "(uint)local_378[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[6]" identifier [ number_literal ])) <= (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n        uVar17 = (uint)local_32a;\n      }" { (expression_statement "uVar17 = (uint)local_32a;" (assignment_expression "uVar17 = (uint)local_32a" identifier = (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (expression_statement "uVar22 = (uint)local_32b;" (assignment_expression "uVar22 = (uint)local_32b" identifier = (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (local_32b < 8) {\n        uVar22 = 8;\n      }" if (parenthesized_expression "(local_32b < 8)" ( (binary_expression "local_32b < 8" identifier < number_literal) )) (compound_statement "{\n        uVar22 = 8;\n      }" { (expression_statement "uVar22 = 8;" (assignment_expression "uVar22 = 8" identifier = number_literal) ;) })) (expression_statement "memset(pbVar10,0,uVar17 * uVar22);" (call_expression "memset(pbVar10,0,uVar17 * uVar22)" identifier (argument_list "(pbVar10,0,uVar17 * uVar22)" ( identifier , number_literal , (binary_expression "uVar17 * uVar22" identifier * identifier) ))) ;) (expression_statement "__s = (undefined1 *)GetVirtualMemoryBlob(iVar6);" (assignment_expression "__s = (undefined1 *)GetVirtualMemoryBlob(iVar6)" identifier = (cast_expression "(undefined1 *)GetVirtualMemoryBlob(iVar6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))))) ;) (expression_statement "memset(__s,0,uVar24 * 2);" (call_expression "memset(__s,0,uVar24 * 2)" identifier (argument_list "(__s,0,uVar24 * 2)" ( identifier , number_literal , (binary_expression "uVar24 * 2" identifier * number_literal) ))) ;) (expression_statement "puVar25 = __s;" (assignment_expression "puVar25 = __s" identifier = identifier) ;) (if_statement "if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }" if (parenthesized_expression "(local_33a == '\0')" ( (binary_expression "local_33a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }" { (for_statement "for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }" for ( ; (binary_expression "uVar24 != 0" identifier != number_literal) ; (assignment_expression "uVar24 = uVar24 - 1" identifier = (binary_expression "uVar24 - 1" identifier - number_literal)) ) (compound_statement "{\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }" { (expression_statement "uVar5 = ReadBlobByte(local_378);" (assignment_expression "uVar5 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar26 = EOFBlob(local_378);" (assignment_expression "iVar26 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }" { (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier ))) ;) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              RelinquishMagickMemory(local_360);\n            }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x1b2;" (assignment_expression "uVar31 = 0x1b2" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "*puVar25 = uVar5;" (assignment_expression "*puVar25 = uVar5" (pointer_expression "*puVar25" * identifier) = identifier) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) })) }) (else_clause "else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }" else (compound_statement "{\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }" { (for_statement "for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }" for ( ; (binary_expression "uVar24 != 0" identifier != number_literal) ; (assignment_expression "uVar24 = uVar24 - 1" identifier = (binary_expression "uVar24 - 1" identifier - number_literal)) ) (compound_statement "{\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }" { (while_statement "while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }" { (expression_statement "uVar17 = ReadBlobByte(local_378);" (assignment_expression "uVar17 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar26 = EOFBlob(local_378);" (assignment_expression "iVar26 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }" { (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier ))) ;) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                RelinquishMagickMemory(local_360);\n              }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x1bb;" (assignment_expression "uVar31 = 0x1bb" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((uVar17 & 0xc0) != 0xc0) break;" if (parenthesized_expression "((uVar17 & 0xc0) != 0xc0)" ( (binary_expression "(uVar17 & 0xc0) != 0xc0" (parenthesized_expression "(uVar17 & 0xc0)" ( (binary_expression "uVar17 & 0xc0" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar5 = ReadBlobByte(local_378);" (assignment_expression "uVar5 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar26 = EOFBlob(local_378);" (assignment_expression "iVar26 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }" { (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier ))) ;) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                RelinquishMagickMemory(local_360);\n              }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x1c5;" (assignment_expression "uVar31 = 0x1c5" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }" if (parenthesized_expression "((uVar17 & 0x3f) != 0)" ( (binary_expression "(uVar17 & 0x3f) != 0" (parenthesized_expression "(uVar17 & 0x3f)" ( (binary_expression "uVar17 & 0x3f" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }" { (expression_statement "uVar24 = uVar24 - 1;" (assignment_expression "uVar24 = uVar24 - 1" identifier = (binary_expression "uVar24 - 1" identifier - number_literal)) ;) (expression_statement "*puVar25 = uVar5;" (assignment_expression "*puVar25 = uVar5" (pointer_expression "*puVar25" * identifier) = identifier) ;) (if_statement "if (uVar24 == 0) goto LAB_00269a7c;" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00269a7c;" goto statement_identifier ;)) (expression_statement "puVar18 = puVar25 + (uVar17 & 0x3f);" (assignment_expression "puVar18 = puVar25 + (uVar17 & 0x3f)" identifier = (binary_expression "puVar25 + (uVar17 & 0x3f)" identifier + (parenthesized_expression "(uVar17 & 0x3f)" ( (binary_expression "uVar17 & 0x3f" identifier & number_literal) )))) ;) (expression_statement "puVar11 = puVar25;" (assignment_expression "puVar11 = puVar25" identifier = identifier) ;) (while_statement "while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }" while (parenthesized_expression "(puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11)" ( (comma_expression "puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11" (assignment_expression "puVar11 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) , (comma_expression "puVar25 = puVar18, puVar18 != puVar11" (assignment_expression "puVar25 = puVar18" identifier = identifier) , (binary_expression "puVar18 != puVar11" identifier != identifier))) )) (compound_statement "{\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }" { (expression_statement "uVar24 = uVar24 - 1;" (assignment_expression "uVar24 = uVar24 - 1" identifier = (binary_expression "uVar24 - 1" identifier - number_literal)) ;) (expression_statement "*puVar11 = uVar5;" (assignment_expression "*puVar11 = uVar5" (pointer_expression "*puVar11" * identifier) = identifier) ;) (if_statement "if (uVar24 == 0) goto LAB_00269a7c;" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00269a7c;" goto statement_identifier ;)) })) })) })) (expression_statement "*puVar25 = (char)uVar17;" (assignment_expression "*puVar25 = (char)uVar17" (pointer_expression "*puVar25" * identifier) = (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) })) }))) (labeled_statement "LAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" statement_identifier : (if_statement "if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" if (parenthesized_expression "(*local_378 == 1)" ( (binary_expression "*local_378 == 1" (pointer_expression "*local_378" * identifier) == number_literal) )) (compound_statement "{\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }" { (expression_statement "local_378[0xa5] = (uint)(3 < local_32b) << 2;" (assignment_expression "local_378[0xa5] = (uint)(3 < local_32b) << 2" (subscript_expression "local_378[0xa5]" identifier [ number_literal ]) = (binary_expression "(uint)(3 < local_32b) << 2" (call_expression "(uint)(3 < local_32b)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(3 < local_32b)" ( (binary_expression "3 < local_32b" number_literal < identifier) ))) << number_literal)) ;) }) (else_clause "else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" else (if_statement "if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" if (parenthesized_expression "(local_33b == '\x05')" ( (binary_expression "local_33b == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }" { (if_statement "if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }" if (parenthesized_expression "(0x100 < (uint)local_378[9])" ( (binary_expression "0x100 < (uint)local_378[9]" number_literal < (cast_expression "(uint)local_378[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[9]" identifier [ number_literal ]))) )) (compound_statement "{\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }" { (labeled_statement "LAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);" statement_identifier : (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier ))) ;)) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            RelinquishMagickMemory(local_360);\n          }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ColormapExceeds256Colors";" (assignment_expression "pcVar32 = "ColormapExceeds256Colors"" identifier = (string_literal ""ColormapExceeds256Colors"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x1d9;" (assignment_expression "uVar31 = 0x1d9" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;" if (parenthesized_expression "((uint)local_339 * (uint)local_32b == 1)" ( (binary_expression "(uint)local_339 * (uint)local_32b == 1" (binary_expression "(uint)local_339 * (uint)local_32b" (cast_expression "(uint)local_339" ( (type_descriptor "uint" type_identifier) ) identifier) * (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)) == number_literal) )) (goto_statement "goto LAB_0026a31e;" goto statement_identifier ;)) (if_statement "if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }" if (parenthesized_expression "(0x10 < (uint)local_378[9])" ( (binary_expression "0x10 < (uint)local_378[9]" number_literal < (cast_expression "(uint)local_378[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[9]" identifier [ number_literal ]))) )) (compound_statement "{\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }" { (expression_statement "local_322 = ReadBlobByte(local_378);" (assignment_expression "local_322 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "ReadBlob(local_378,local_378[9] * 3,local_320);" (call_expression "ReadBlob(local_378,local_378[9] * 3,local_320)" identifier (argument_list "(local_378,local_378[9] * 3,local_320)" ( identifier , (binary_expression "local_378[9] * 3" (subscript_expression "local_378[9]" identifier [ number_literal ]) * number_literal) , identifier ))) ;) (expression_statement "fVar4 = DAT_002e814c;" (assignment_expression "fVar4 = DAT_002e814c" identifier = identifier) ;) (expression_statement "iVar26 = local_378[9];" (assignment_expression "iVar26 = local_378[9]" identifier = (subscript_expression "local_378[9]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }" if (parenthesized_expression "(0 < iVar26)" ( (binary_expression "0 < iVar26" number_literal < identifier) )) (compound_statement "{\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }" { (expression_statement "pdVar15 = (double *)(local_378[10] + 0x20);" (assignment_expression "pdVar15 = (double *)(local_378[10] + 0x20)" identifier = (cast_expression "(double *)(local_378[10] + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_378[10] + 0x20)" ( (binary_expression "local_378[10] + 0x20" (subscript_expression "local_378[10]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "pbVar8 = local_320;" (assignment_expression "pbVar8 = local_320" identifier = identifier) ;) (do_statement "do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);" do (compound_statement "{\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            }" { (expression_statement "pbVar14 = pbVar8 + 3;" (assignment_expression "pbVar14 = pbVar8 + 3" identifier = (binary_expression "pbVar8 + 3" identifier + number_literal)) ;) (expression_statement "*pdVar15 = (double)((float)*pbVar8 * fVar4);" (assignment_expression "*pdVar15 = (double)((float)*pbVar8 * fVar4)" (pointer_expression "*pdVar15" * identifier) = (cast_expression "(double)((float)*pbVar8 * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*pbVar8 * fVar4)" ( (binary_expression "(float)*pbVar8 * fVar4" (cast_expression "(float)*pbVar8" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*pbVar8" * identifier)) * identifier) )))) ;) (expression_statement "pdVar15[1] = (double)((float)pbVar8[1] * fVar4);" (assignment_expression "pdVar15[1] = (double)((float)pbVar8[1] * fVar4)" (subscript_expression "pdVar15[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar8[1] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar8[1] * fVar4)" ( (binary_expression "(float)pbVar8[1] * fVar4" (cast_expression "(float)pbVar8[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar8[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pdVar15[2] = (double)((float)pbVar8[2] * fVar4);" (assignment_expression "pdVar15[2] = (double)((float)pbVar8[2] * fVar4)" (subscript_expression "pdVar15[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar8[2] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar8[2] * fVar4)" ( (binary_expression "(float)pbVar8[2] * fVar4" (cast_expression "(float)pbVar8[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar8[2]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pdVar15 = pdVar15 + 10;" (assignment_expression "pdVar15 = pdVar15 + 10" identifier = (binary_expression "pdVar15 + 10" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar14;" (assignment_expression "pbVar8 = pbVar14" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar14 != local_320 + iVar26 * 3)" ( (binary_expression "pbVar14 != local_320 + iVar26 * 3" identifier != (binary_expression "local_320 + iVar26 * 3" identifier + (binary_expression "iVar26 * 3" identifier * number_literal))) )) ;) })) })) }) (else_clause "else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" else (if_statement "if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" if (parenthesized_expression "((uint)local_339 * (uint)local_32b == 1)" ( (binary_expression "(uint)local_339 * (uint)local_32b == 1" (binary_expression "(uint)local_339 * (uint)local_32b" (cast_expression "(uint)local_339" ( (type_descriptor "uint" type_identifier) ) identifier) * (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)) == number_literal) )) (compound_statement "{\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" { (if_statement "if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;" if (parenthesized_expression "(0x100 < (uint)local_378[9])" ( (binary_expression "0x100 < (uint)local_378[9]" number_literal < (cast_expression "(uint)local_378[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[9]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_0026aaa4;" goto statement_identifier ;)) (labeled_statement "LAB_0026a31e:\n        iVar26 = local_378[10];" statement_identifier : (expression_statement "iVar26 = local_378[10];" (assignment_expression "iVar26 = local_378[10]" identifier = (subscript_expression "local_378[10]" identifier [ number_literal ])) ;)) (expression_statement "*(undefined8 *)(iVar26 + 0x20) = 0;" (assignment_expression "*(undefined8 *)(iVar26 + 0x20) = 0" (pointer_expression "*(undefined8 *)(iVar26 + 0x20)" * (cast_expression "(undefined8 *)(iVar26 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x20)" ( (binary_expression "iVar26 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(iVar26 + 0x28) = 0;" (assignment_expression "*(undefined8 *)(iVar26 + 0x28) = 0" (pointer_expression "*(undefined8 *)(iVar26 + 0x28)" * (cast_expression "(undefined8 *)(iVar26 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x28)" ( (binary_expression "iVar26 + 0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(iVar26 + 0x30) = 0;" (assignment_expression "*(undefined8 *)(iVar26 + 0x30) = 0" (pointer_expression "*(undefined8 *)(iVar26 + 0x30)" * (cast_expression "(undefined8 *)(iVar26 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x30)" ( (binary_expression "iVar26 + 0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fVar4 = DAT_002df8a8;" (assignment_expression "fVar4 = DAT_002df8a8" identifier = identifier) ;) (expression_statement "*(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(iVar26 + 0x70) = (double)DAT_002df8a8" (pointer_expression "*(double *)(iVar26 + 0x70)" * (cast_expression "(double *)(iVar26 + 0x70)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x70)" ( (binary_expression "iVar26 + 0x70" identifier + number_literal) )))) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "*(double *)(iVar26 + 0x78) = (double)fVar4;" (assignment_expression "*(double *)(iVar26 + 0x78) = (double)fVar4" (pointer_expression "*(double *)(iVar26 + 0x78)" * (cast_expression "(double *)(iVar26 + 0x78)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x78)" ( (binary_expression "iVar26 + 0x78" identifier + number_literal) )))) = (cast_expression "(double)fVar4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "*(double *)(iVar26 + 0x80) = (double)fVar4;" (assignment_expression "*(double *)(iVar26 + 0x80) = (double)fVar4" (pointer_expression "*(double *)(iVar26 + 0x80)" * (cast_expression "(double *)(iVar26 + 0x80)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x80)" ( (binary_expression "iVar26 + 0x80" identifier + number_literal) )))) = (cast_expression "(double)fVar4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))))))) (expression_statement "local_364 = 0;" (assignment_expression "local_364 = 0" identifier = number_literal) ;) (expression_statement "local_34c = 0;" (assignment_expression "local_34c = 0" identifier = number_literal) ;) (expression_statement "local_348 = 0;" (assignment_expression "local_348 = 0" identifier = number_literal) ;) (if_statement "if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }" if (parenthesized_expression "(0 < local_378[7])" ( (binary_expression "0 < local_378[7]" number_literal < (subscript_expression "local_378[7]" identifier [ number_literal ])) )) (compound_statement "{\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }" { (do_statement "do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);" do (compound_statement "{\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        }" { (expression_statement "pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;" (assignment_expression "pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b" identifier = (binary_expression "__s + (uint)local_32a * local_364 * (uint)local_32b" identifier + (binary_expression "(uint)local_32a * local_364 * (uint)local_32b" (binary_expression "(uint)local_32a * local_364" (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier) * identifier) * (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)))) ;) (expression_statement "iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);" (assignment_expression "iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2)" identifier = (call_expression "QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2)" identifier (argument_list "(local_378,0,local_364,local_378[6],1,param_2)" ( identifier , number_literal , identifier , (subscript_expression "local_378[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (iVar26 == 0) break;" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar17 = (uint)local_32b;" (assignment_expression "uVar17 = (uint)local_32b" identifier = (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }" if (parenthesized_expression "(*local_378 == 1)" ( (binary_expression "*local_378 == 1" (pointer_expression "*local_378" * identifier) == number_literal) )) (compound_statement "{\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }" { (if_statement "if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }" if (parenthesized_expression "((local_32b != 0) && (local_32a != 0))" ( (binary_expression "(local_32b != 0) && (local_32a != 0)" (parenthesized_expression "(local_32b != 0)" ( (binary_expression "local_32b != 0" identifier != number_literal) )) && (parenthesized_expression "(local_32a != 0)" ( (binary_expression "local_32a != 0" identifier != number_literal) ))) )) (compound_statement "{\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }" { (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" identifier = identifier) ;) (do_statement "do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);" do (compound_statement "{\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              }" { (expression_statement "pbVar23 = pbVar8 + local_32a;" (assignment_expression "pbVar23 = pbVar8 + local_32a" identifier = (binary_expression "pbVar8 + local_32a" identifier + identifier)) ;) (expression_statement "pbVar19 = pbVar14;" (assignment_expression "pbVar19 = pbVar14" identifier = identifier) ;) (do_statement "do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);" do (compound_statement "{\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                }" { (expression_statement "bVar16 = *pbVar8;" (assignment_expression "bVar16 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar19 = bVar16;" (assignment_expression "*pbVar19 = bVar16" (pointer_expression "*pbVar19" * identifier) = identifier) ;) (expression_statement "pbVar19 = pbVar19 + uVar17;" (assignment_expression "pbVar19 = pbVar19 + uVar17" identifier = (binary_expression "pbVar19 + uVar17" identifier + identifier)) ;) }) while (parenthesized_expression "(pbVar23 != pbVar8)" ( (binary_expression "pbVar23 != pbVar8" identifier != identifier) )) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar23;" (assignment_expression "pbVar8 = pbVar23" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar14 != pbVar10 + uVar17)" ( (binary_expression "pbVar14 != pbVar10 + uVar17" identifier != (binary_expression "pbVar10 + uVar17" identifier + identifier)) )) ;) })) (labeled_statement "LAB_00269be4:\n            local_370 = local_378[6];" statement_identifier : (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }" else (compound_statement "{\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }" { (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (if_statement "if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }" if (parenthesized_expression "(1 < local_32b)" ( (binary_expression "1 < local_32b" number_literal < identifier) )) (compound_statement "{\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }" { (if_statement "if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }" if (parenthesized_expression "(0 < (int)local_370)" ( (binary_expression "0 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);" do (compound_statement "{\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                }" { (expression_statement "pbVar10[iVar12] = 0;" (assignment_expression "pbVar10[iVar12] = 0" (subscript_expression "pbVar10[iVar12]" identifier [ identifier ]) = number_literal) ;) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar12 < local_378[6])" ( (binary_expression "iVar12 < local_378[6]" identifier < (subscript_expression "local_378[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "uVar24 = (uint)local_32a;" (assignment_expression "uVar24 = (uint)local_32a" identifier = (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }" if (parenthesized_expression "(uVar24 != 0)" ( (binary_expression "uVar24 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (do_statement "do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);" do (compound_statement "{\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);" do (compound_statement "{\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  }" { (expression_statement "bVar16 = pbVar8[uVar13];" (assignment_expression "bVar16 = pbVar8[uVar13]" identifier = (subscript_expression "pbVar8[uVar13]" identifier [ identifier ])) ;) (expression_statement "bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));" (assignment_expression "bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f))" identifier = (call_expression "(byte)(1 << ((byte)uVar22 & 0x1f))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(1 << ((byte)uVar22 & 0x1f))" ( (binary_expression "1 << ((byte)uVar22 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar22 & 0x1f)" ( (binary_expression "(byte)uVar22 & 0x1f" (cast_expression "(byte)uVar22" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (if_statement "if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }" if (parenthesized_expression "((char)bVar16 < '\0')" ( (binary_expression "(char)bVar16 < '\0'" (cast_expression "(char)bVar16" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21" (subscript_expression "pbVar10[uVar13 * 8]" identifier [ (binary_expression "uVar13 * 8" identifier * number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8] | bVar21" (subscript_expression "pbVar10[uVar13 * 8]" identifier [ (binary_expression "uVar13 * 8" identifier * number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 0x40) != 0)" ( (binary_expression "(bVar16 & 0x40) != 0" (parenthesized_expression "(bVar16 & 0x40)" ( (binary_expression "bVar16 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 1]" identifier [ (binary_expression "uVar13 * 8 + 1" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 1] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 1]" identifier [ (binary_expression "uVar13 * 8 + 1" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 0x20) != 0)" ( (binary_expression "(bVar16 & 0x20) != 0" (parenthesized_expression "(bVar16 & 0x20)" ( (binary_expression "bVar16 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 2]" identifier [ (binary_expression "uVar13 * 8 + 2" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 2] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 2]" identifier [ (binary_expression "uVar13 * 8 + 2" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 0x10) != 0)" ( (binary_expression "(bVar16 & 0x10) != 0" (parenthesized_expression "(bVar16 & 0x10)" ( (binary_expression "bVar16 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 3]" identifier [ (binary_expression "uVar13 * 8 + 3" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 3] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 3]" identifier [ (binary_expression "uVar13 * 8 + 3" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 8) != 0)" ( (binary_expression "(bVar16 & 8) != 0" (parenthesized_expression "(bVar16 & 8)" ( (binary_expression "bVar16 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 4]" identifier [ (binary_expression "uVar13 * 8 + 4" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 4] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 4]" identifier [ (binary_expression "uVar13 * 8 + 4" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 4) != 0)" ( (binary_expression "(bVar16 & 4) != 0" (parenthesized_expression "(bVar16 & 4)" ( (binary_expression "bVar16 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 5]" identifier [ (binary_expression "uVar13 * 8 + 5" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 5] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 5]" identifier [ (binary_expression "uVar13 * 8 + 5" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 2) != 0)" ( (binary_expression "(bVar16 & 2) != 0" (parenthesized_expression "(bVar16 & 2)" ( (binary_expression "bVar16 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 6]" identifier [ (binary_expression "uVar13 * 8 + 6" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 6] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 6]" identifier [ (binary_expression "uVar13 * 8 + 6" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 1) != 0)" ( (binary_expression "(bVar16 & 1) != 0" (parenthesized_expression "(bVar16 & 1)" ( (binary_expression "bVar16 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 7]" identifier [ (binary_expression "uVar13 * 8 + 7" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 7] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 7]" identifier [ (binary_expression "uVar13 * 8 + 7" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (expression_statement "uVar13 = uVar13 + 1;" (assignment_expression "uVar13 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 != uVar24)" ( (binary_expression "uVar13 != uVar24" identifier != identifier) )) ;) (expression_statement "pbVar8 = pbVar8 + uVar24;" (assignment_expression "pbVar8 = pbVar8 + uVar24" identifier = (binary_expression "pbVar8 + uVar24" identifier + identifier)) ;) (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar22 != uVar17)" ( (binary_expression "uVar22 != uVar17" identifier != identifier) )) ;) })) (goto_statement "goto LAB_00269be4;" goto statement_identifier ;) })) (if_statement "if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" if (parenthesized_expression "(local_339 == 2)" ( (binary_expression "local_339 == 2" identifier == number_literal) )) (compound_statement "{\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }" { (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar23 = pbVar10;" (assignment_expression "pbVar23 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) (if_statement "if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }" if (parenthesized_expression "(3 < (int)local_370)" ( (binary_expression "3 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }" { (do_statement "do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));" do (compound_statement "{\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                }" { (expression_statement "pbVar14 = pbVar23 + 4;" (assignment_expression "pbVar14 = pbVar23 + 4" identifier = (binary_expression "pbVar23 + 4" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar19 + 1;" (assignment_expression "pbVar8 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar23 = *pbVar19 >> 6;" (assignment_expression "*pbVar23 = *pbVar19 >> 6" (pointer_expression "*pbVar23" * identifier) = (binary_expression "*pbVar19 >> 6" (pointer_expression "*pbVar19" * identifier) >> number_literal)) ;) (expression_statement "pbVar23[1] = *pbVar19 >> 4 & 3;" (assignment_expression "pbVar23[1] = *pbVar19 >> 4 & 3" (subscript_expression "pbVar23[1]" identifier [ number_literal ]) = (binary_expression "*pbVar19 >> 4 & 3" (binary_expression "*pbVar19 >> 4" (pointer_expression "*pbVar19" * identifier) >> number_literal) & number_literal)) ;) (expression_statement "pbVar23[2] = *pbVar19 >> 2 & 3;" (assignment_expression "pbVar23[2] = *pbVar19 >> 2 & 3" (subscript_expression "pbVar23[2]" identifier [ number_literal ]) = (binary_expression "*pbVar19 >> 2 & 3" (binary_expression "*pbVar19 >> 2" (pointer_expression "*pbVar19" * identifier) >> number_literal) & number_literal)) ;) (expression_statement "pbVar23[3] = *pbVar19 & 3;" (assignment_expression "pbVar23[3] = *pbVar19 & 3" (subscript_expression "pbVar23[3]" identifier [ number_literal ]) = (binary_expression "*pbVar19 & 3" (pointer_expression "*pbVar19" * identifier) & number_literal)) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (expression_statement "pbVar23 = pbVar14;" (assignment_expression "pbVar23 = pbVar14" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) }) while (parenthesized_expression "((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3))" ( (binary_expression "(int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3)" (binary_expression "(int)pbVar14 - (int)pbVar10" (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar10" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)(local_370 - 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_370 - 3)" ( (binary_expression "local_370 - 3" identifier - number_literal) )))) )) ;) })) (if_statement "if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }" if (parenthesized_expression "((local_370 & 3) != 0)" ( (binary_expression "(local_370 & 3) != 0" (parenthesized_expression "(local_370 & 3)" ( (binary_expression "local_370 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }" { (expression_statement "iVar12 = 3;" (assignment_expression "iVar12 = 3" identifier = number_literal) ;) (do_statement "do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);" do (compound_statement "{\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                }" { (expression_statement "cVar3 = (char)iVar12;" (assignment_expression "cVar3 = (char)iVar12" identifier = (cast_expression "(char)iVar12" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;" (assignment_expression "*pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3" (pointer_expression "*pbVar14" * identifier) = (binary_expression "(byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3" (call_expression "(byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU))" ( (binary_expression "(int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)" (binary_expression "(int)(uint)*pbVar8" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> (parenthesized_expression "(cVar3 * '\x02' & 0x1fU)" ( (binary_expression "cVar3 * '\x02' & 0x1fU" (binary_expression "cVar3 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) & number_literal) ))) ))) & number_literal)) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)(4 - (local_370 & 3)) <= iVar12)" ( (binary_expression "(int)(4 - (local_370 & 3)) <= iVar12" (cast_expression "(int)(4 - (local_370 & 3))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(4 - (local_370 & 3))" ( (binary_expression "4 - (local_370 & 3)" number_literal - (parenthesized_expression "(local_370 & 3)" ( (binary_expression "local_370 & 3" identifier & number_literal) ))) ))) <= identifier) )) ;) })) }) (else_clause "else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" else (if_statement "if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" if (parenthesized_expression "(local_339 < 3)" ( (binary_expression "local_339 < 3" identifier < number_literal) )) (compound_statement "{\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }" { (if_statement "if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }" if (parenthesized_expression "(local_339 == 1)" ( (binary_expression "local_339 == 1" identifier == number_literal) )) (compound_statement "{\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }" { (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar23 = pbVar10;" (assignment_expression "pbVar23 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) (if_statement "if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }" if (parenthesized_expression "(7 < (int)local_370)" ( (binary_expression "7 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }" { (do_statement "do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));" do (compound_statement "{\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  }" { (expression_statement "pbVar14 = pbVar23 + 8;" (assignment_expression "pbVar14 = pbVar23 + 8" identifier = (binary_expression "pbVar23 + 8" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar19 + 1;" (assignment_expression "pbVar8 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar23 = *pbVar19 >> 7 ^ 1;" (assignment_expression "*pbVar23 = *pbVar19 >> 7 ^ 1" (pointer_expression "*pbVar23" * identifier) = (binary_expression "*pbVar19 >> 7 ^ 1" (binary_expression "*pbVar19 >> 7" (pointer_expression "*pbVar19" * identifier) >> number_literal) ^ number_literal)) ;) (expression_statement "pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;" (assignment_expression "pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1" (subscript_expression "pbVar23[1]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 6) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 6)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 6)" ( (binary_expression "(int)(uint)*pbVar19 >> 6" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;" (assignment_expression "pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1" (subscript_expression "pbVar23[2]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 5) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 5)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 5)" ( (binary_expression "(int)(uint)*pbVar19 >> 5" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;" (assignment_expression "pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1" (subscript_expression "pbVar23[3]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 4) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 4)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 4)" ( (binary_expression "(int)(uint)*pbVar19 >> 4" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;" (assignment_expression "pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1" (subscript_expression "pbVar23[4]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 3) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 3)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 3)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 3)" ( (binary_expression "(int)(uint)*pbVar19 >> 3" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;" (assignment_expression "pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1" (subscript_expression "pbVar23[5]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 2) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 2)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 2)" ( (binary_expression "(int)(uint)*pbVar19 >> 2" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;" (assignment_expression "pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1" (subscript_expression "pbVar23[6]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 1) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 1)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 1)" ( (binary_expression "(int)(uint)*pbVar19 >> 1" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[7] = ~*pbVar19 & 1;" (assignment_expression "pbVar23[7] = ~*pbVar19 & 1" (subscript_expression "pbVar23[7]" identifier [ number_literal ]) = (binary_expression "~*pbVar19 & 1" (unary_expression "~*pbVar19" ~ (pointer_expression "*pbVar19" * identifier)) & number_literal)) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (expression_statement "pbVar23 = pbVar14;" (assignment_expression "pbVar23 = pbVar14" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) }) while (parenthesized_expression "((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7))" ( (binary_expression "(int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7)" (binary_expression "(int)pbVar14 - (int)pbVar10" (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar10" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)(local_370 - 7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_370 - 7)" ( (binary_expression "local_370 - 7" identifier - number_literal) )))) )) ;) })) (if_statement "if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }" if (parenthesized_expression "((local_370 & 7) != 0)" ( (binary_expression "(local_370 & 7) != 0" (parenthesized_expression "(local_370 & 7)" ( (binary_expression "local_370 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (do_statement "do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);" do (compound_statement "{\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  }" { (expression_statement "bVar16 = (byte)iVar12;" (assignment_expression "bVar16 = (byte)iVar12" identifier = (cast_expression "(byte)iVar12" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;" (assignment_expression "*pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1" (pointer_expression "*pbVar14" * identifier) = (binary_expression "~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1" (unary_expression "~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f))" ~ (call_expression "(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar8 >> (bVar16 & 0x1f))" ( (binary_expression "(int)(uint)*pbVar8 >> (bVar16 & 0x1f)" (binary_expression "(int)(uint)*pbVar8" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> (parenthesized_expression "(bVar16 & 0x1f)" ( (binary_expression "bVar16 & 0x1f" identifier & number_literal) ))) )))) & number_literal)) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)(8 - (local_370 & 7)) <= iVar12)" ( (binary_expression "(int)(8 - (local_370 & 7)) <= iVar12" (cast_expression "(int)(8 - (local_370 & 7))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(8 - (local_370 & 7))" ( (binary_expression "8 - (local_370 & 7)" number_literal - (parenthesized_expression "(local_370 & 7)" ( (binary_expression "local_370 & 7" identifier & number_literal) ))) ))) <= identifier) )) ;) })) })) }) (else_clause "else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" else (if_statement "if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" if (parenthesized_expression "(local_339 == 4)" ( (binary_expression "local_339 == 4" identifier == number_literal) )) (compound_statement "{\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }" { (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar23 = pbVar10;" (assignment_expression "pbVar23 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) (if_statement "if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }" if (parenthesized_expression "(1 < (int)local_370)" ( (binary_expression "1 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }" { (do_statement "do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));" do (compound_statement "{\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                }" { (expression_statement "pbVar14 = pbVar23 + 2;" (assignment_expression "pbVar14 = pbVar23 + 2" identifier = (binary_expression "pbVar23 + 2" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar19 + 1;" (assignment_expression "pbVar8 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar23 = *pbVar19 >> 4;" (assignment_expression "*pbVar23 = *pbVar19 >> 4" (pointer_expression "*pbVar23" * identifier) = (binary_expression "*pbVar19 >> 4" (pointer_expression "*pbVar19" * identifier) >> number_literal)) ;) (expression_statement "pbVar23[1] = *pbVar19 & 0xf;" (assignment_expression "pbVar23[1] = *pbVar19 & 0xf" (subscript_expression "pbVar23[1]" identifier [ number_literal ]) = (binary_expression "*pbVar19 & 0xf" (pointer_expression "*pbVar19" * identifier) & number_literal)) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (expression_statement "pbVar23 = pbVar14;" (assignment_expression "pbVar23 = pbVar14" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) }) while (parenthesized_expression "((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1))" ( (binary_expression "(int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1)" (binary_expression "(int)pbVar14 - (int)pbVar10" (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar10" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)(local_370 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_370 - 1)" ( (binary_expression "local_370 - 1" identifier - number_literal) )))) )) ;) })) (if_statement "if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }" if (parenthesized_expression "((local_370 & 1) != 0)" ( (binary_expression "(local_370 & 1) != 0" (parenthesized_expression "(local_370 & 1)" ( (binary_expression "local_370 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }" { (expression_statement "*pbVar14 = *pbVar8 >> 4;" (assignment_expression "*pbVar14 = *pbVar8 >> 4" (pointer_expression "*pbVar14" * identifier) = (binary_expression "*pbVar8 >> 4" (pointer_expression "*pbVar8" * identifier) >> number_literal)) ;) (goto_statement "goto LAB_00269be4;" goto statement_identifier ;) })) }) (else_clause "else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" else (if_statement "if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" if (parenthesized_expression "(local_339 == 8)" ( (binary_expression "local_339 == 8" identifier == number_literal) )) (compound_statement "{\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" { (expression_statement "memcpy(pbVar10,pbVar8,local_370);" (call_expression "memcpy(pbVar10,pbVar8,local_370)" identifier (argument_list "(pbVar10,pbVar8,local_370)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) })))))))) }))) (expression_statement "fVar4 = DAT_002e814c;" (assignment_expression "fVar4 = DAT_002e814c" identifier = identifier) ;) (if_statement "if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }" if (parenthesized_expression "(0 < (int)local_370)" ( (binary_expression "0 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }" { (expression_statement "sVar20 = 0;" (assignment_expression "sVar20 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = local_378[0xa6];" (assignment_expression "iVar12 = local_378[0xa6]" identifier = (subscript_expression "local_378[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = *local_378;" (assignment_expression "iVar1 = *local_378" identifier = (pointer_expression "*local_378" * identifier)) ;) (expression_statement "iVar2 = local_378[0xaa];" (assignment_expression "iVar2 = local_378[0xaa]" identifier = (subscript_expression "local_378[0xaa]" identifier [ number_literal ])) ;) (expression_statement "pbVar8 = pbVar10;" (assignment_expression "pbVar8 = pbVar10" identifier = identifier) ;) (do_statement "do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);" do (compound_statement "{\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            }" { (while_statement "while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }" { (if_statement "if (iVar1 == 2) break;" if (parenthesized_expression "(iVar1 == 2)" ( (binary_expression "iVar1 == 2" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 8) * 8)" * (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 8) * 8)" ( (binary_expression "iVar26 + *(int *)(iVar2 + 8) * 8" identifier + (binary_expression "*(int *)(iVar2 + 8) * 8" (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)((float)*pbVar8 * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*pbVar8 * fVar4)" ( (binary_expression "(float)*pbVar8 * fVar4" (cast_expression "(float)*pbVar8" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*pbVar8" * identifier)) * identifier) )))) ;) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8)" * (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x14) * 8)" ( (binary_expression "iVar26 + *(int *)(iVar2 + 0x14) * 8" identifier + (binary_expression "*(int *)(iVar2 + 0x14) * 8" (pointer_expression "*(int *)(iVar2 + 0x14)" * (cast_expression "(int *)(iVar2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)((float)pbVar8[1] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar8[1] * fVar4)" ( (binary_expression "(float)pbVar8[1] * fVar4" (cast_expression "(float)pbVar8[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar8[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8)" * (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x20) * 8)" ( (binary_expression "iVar26 + *(int *)(iVar2 + 0x20) * 8" identifier + (binary_expression "*(int *)(iVar2 + 0x20) * 8" (pointer_expression "*(int *)(iVar2 + 0x20)" * (cast_expression "(int *)(iVar2 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x20)" ( (binary_expression "iVar2 + 0x20" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)((float)pbVar8[2] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar8[2] * fVar4)" ( (binary_expression "(float)pbVar8[2] * fVar4" (cast_expression "(float)pbVar8[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar8[2]" identifier [ number_literal ])) * identifier) )))) ;) (if_statement "if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }" if (parenthesized_expression "(local_378[0xa5] == 0)" ( (binary_expression "local_378[0xa5] == 0" (subscript_expression "local_378[0xa5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  pbVar14 = pbVar8 + 3;\n                }" { (expression_statement "pbVar14 = pbVar8 + 3;" (assignment_expression "pbVar14 = pbVar8 + 3" identifier = (binary_expression "pbVar8 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }" else (compound_statement "{\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }" { (expression_statement "pbVar14 = pbVar8 + 4;" (assignment_expression "pbVar14 = pbVar8 + 4" identifier = (binary_expression "pbVar8 + 4" identifier + number_literal)) ;) (if_statement "if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }" if (parenthesized_expression "(*(int *)(iVar2 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar2 + 0x34) != 0" (pointer_expression "*(int *)(iVar2 + 0x34)" * (cast_expression "(int *)(iVar2 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x34)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }" { (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8)" * (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x38) * 8)" ( (binary_expression "iVar26 + *(int *)(iVar2 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar2 + 0x38) * 8" (pointer_expression "*(int *)(iVar2 + 0x38)" * (cast_expression "(int *)(iVar2 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x38)" ( (binary_expression "iVar2 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)((float)pbVar8[3] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar8[3] * fVar4)" ( (binary_expression "(float)pbVar8[3] * fVar4" (cast_expression "(float)pbVar8[3]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar8[3]" identifier [ number_literal ])) * identifier) )))) ;) })) }))) (labeled_statement "LAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;" statement_identifier : (expression_statement "iVar26 = iVar26 + iVar12 * 8;" (assignment_expression "iVar26 = iVar26 + iVar12 * 8" identifier = (binary_expression "iVar26 + iVar12 * 8" identifier + (binary_expression "iVar12 * 8" identifier * number_literal))) ;)) (expression_statement "sVar20 = sVar20 + 1;" (assignment_expression "sVar20 = sVar20 + 1" identifier = (binary_expression "sVar20 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar14;" (assignment_expression "pbVar8 = pbVar14" identifier = identifier) ;) (if_statement "if (sVar20 == local_370) goto LAB_00269cce;" if (parenthesized_expression "(sVar20 == local_370)" ( (binary_expression "sVar20 == local_370" identifier == identifier) )) (goto_statement "goto LAB_00269cce;" goto statement_identifier ;)) })) (expression_statement "pbVar14 = pbVar8 + 1;" (assignment_expression "pbVar14 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (if_statement "if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;" if (parenthesized_expression "(*(int *)(iVar2 + 0x40) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x40) == 0" (pointer_expression "*(int *)(iVar2 + 0x40)" * (cast_expression "(int *)(iVar2 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x40)" ( (binary_expression "iVar2 + 0x40" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00269c86;" goto statement_identifier ;)) (expression_statement "sVar20 = sVar20 + 1;" (assignment_expression "sVar20 = sVar20 + 1" identifier = (binary_expression "sVar20 + 1" identifier + number_literal)) ;) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8)" * (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x44) * 8)" ( (binary_expression "iVar26 + *(int *)(iVar2 + 0x44) * 8" identifier + (binary_expression "*(int *)(iVar2 + 0x44) * 8" (pointer_expression "*(int *)(iVar2 + 0x44)" * (cast_expression "(int *)(iVar2 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x44)" ( (binary_expression "iVar2 + 0x44" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)*pbVar8" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "iVar26 = iVar26 + iVar12 * 8;" (assignment_expression "iVar26 = iVar26 + iVar12 * 8" identifier = (binary_expression "iVar26 + iVar12 * 8" identifier + (binary_expression "iVar12 * 8" identifier * number_literal))) ;) (expression_statement "pbVar8 = pbVar14;" (assignment_expression "pbVar8 = pbVar14" identifier = identifier) ;) }) while (parenthesized_expression "(sVar20 != local_370)" ( (binary_expression "sVar20 != local_370" identifier != identifier) )) ;) })) (labeled_statement "LAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);" statement_identifier : (expression_statement "iVar26 = SyncAuthenticPixels(local_378,param_2);" (assignment_expression "iVar26 = SyncAuthenticPixels(local_378,param_2)" identifier = (call_expression "SyncAuthenticPixels(local_378,param_2)" identifier (argument_list "(local_378,param_2)" ( identifier , identifier )))) ;)) (if_statement "if (iVar26 == 0) break;" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar26 = local_378[7];" (assignment_expression "iVar26 = local_378[7]" identifier = (subscript_expression "local_378[7]" identifier [ number_literal ])) ;) (if_statement "if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }" if (parenthesized_expression "(local_378[0xccf] == 0)" ( (binary_expression "local_378[0xccf] == 0" (subscript_expression "local_378[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }" { (expression_statement "local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);" (assignment_expression "local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0)" identifier = (call_expression "SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0)" identifier (argument_list "(local_378,"Load/Image",local_34c,local_348,iVar26,0)" ( identifier , (string_literal ""Load/Image"" " string_content ") , identifier , identifier , identifier , number_literal )))) ;) (if_statement "if (local_350 == 0) break;" if (parenthesized_expression "(local_350 == 0)" ( (binary_expression "local_350 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar26 = local_378[7];" (assignment_expression "iVar26 = local_378[7]" identifier = (subscript_expression "local_378[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_364 = local_364 + 1;" (assignment_expression "local_364 = local_364 + 1" identifier = (binary_expression "local_364 + 1" identifier + number_literal)) ;) (expression_statement "bVar27 = 0xfffffffe < local_34c;" (assignment_expression "bVar27 = 0xfffffffe < local_34c" identifier = (binary_expression "0xfffffffe < local_34c" number_literal < identifier)) ;) (expression_statement "local_34c = local_34c + 1;" (assignment_expression "local_34c = local_34c + 1" identifier = (binary_expression "local_34c + 1" identifier + number_literal)) ;) (expression_statement "local_348 = local_348 + (uint)bVar27;" (assignment_expression "local_348 = local_348 + (uint)bVar27" identifier = (binary_expression "local_348 + (uint)bVar27" identifier + (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_364 < iVar26)" ( (binary_expression "local_364 < iVar26" identifier < identifier) )) ;) })) (if_statement "if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }" if (parenthesized_expression "(*local_378 == 2)" ( (binary_expression "*local_378 == 2" (pointer_expression "*local_378" * identifier) == number_literal) )) (compound_statement "{\n        SyncImage(local_378,param_2);\n      }" { (expression_statement "SyncImage(local_378,param_2);" (call_expression "SyncImage(local_378,param_2)" identifier (argument_list "(local_378,param_2)" ( identifier , identifier ))) ;) })) (expression_statement "local_364 = RelinquishMagickMemory(pbVar10);" (assignment_expression "local_364 = RelinquishMagickMemory(pbVar10)" identifier = (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier )))) ;) (expression_statement "local_36c = RelinquishVirtualMemory(iVar6);" (assignment_expression "local_36c = RelinquishVirtualMemory(iVar6)" identifier = (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "iVar6 = EOFBlob(local_378);" (assignment_expression "iVar6 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }" { (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = GetExceptionMessage(*piVar9);" (assignment_expression "uVar7 = GetExceptionMessage(*piVar9)" identifier = (call_expression "GetExceptionMessage(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7)" identifier (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , number_literal , number_literal , (string_literal ""UnexpectedEndOfFile"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , (binary_expression "local_378 + 0xc6" identifier + number_literal) , identifier ))) ;) (expression_statement "DestroyString(uVar7);" (call_expression "DestroyString(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (labeled_statement "LAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;" statement_identifier : (if_statement "if (local_360 == (int *)0x0) goto LAB_0026a58c;" if (parenthesized_expression "(local_360 == (int *)0x0)" ( (binary_expression "local_360 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0026a58c;" goto statement_identifier ;))) (break_statement "break;" break ;) })) (if_statement "if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;" if (parenthesized_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))" ( (binary_expression "(*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" ( (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) - number_literal) <= (cast_expression "(uint)local_378[0x91]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[0x91]" identifier [ number_literal ]))) ))) )) (goto_statement "goto LAB_0026aa7e;" goto statement_identifier ;)) (if_statement "if (local_360 == (int *)0x0) goto LAB_0026a58c;" if (parenthesized_expression "(local_360 == (int *)0x0)" ( (binary_expression "local_360 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0026a58c;" goto statement_identifier ;)) (if_statement "if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;" if (parenthesized_expression "(local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0)" ( (binary_expression "local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0" (binary_expression "local_360[local_344 * 2 + 1] == 0" (subscript_expression "local_360[local_344 * 2 + 1]" identifier [ (binary_expression "local_344 * 2 + 1" (binary_expression "local_344 * 2" identifier * number_literal) + number_literal) ]) == number_literal) && (binary_expression "local_360[local_344 * 2] == 0" (subscript_expression "local_360[local_344 * 2]" identifier [ (binary_expression "local_344 * 2" identifier * number_literal) ]) == number_literal)) )) (break_statement "break;" break ;)) (expression_statement "SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);" (call_expression "SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0)" identifier (argument_list "(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0)" ( identifier , (subscript_expression "local_360[local_344 * 2]" identifier [ (binary_expression "local_344 * 2" identifier * number_literal) ]) , (subscript_expression "local_360[local_344 * 2 + 1]" identifier [ (binary_expression "local_344 * 2 + 1" (binary_expression "local_344 * 2" identifier * number_literal) + number_literal) ]) , number_literal ))) ;) (if_statement "if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(extraout_EDX_00 < 0)" ( (binary_expression "extraout_EDX_00 < 0" identifier < number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x2a4;" (assignment_expression "uVar31 = 0x2a4" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "iVar6 = ReadBlob(local_378,1,&local_33c);" (assignment_expression "iVar6 = ReadBlob(local_378,1,&local_33c)" identifier = (call_expression "ReadBlob(local_378,1,&local_33c)" identifier (argument_list "(local_378,1,&local_33c)" ( identifier , number_literal , (pointer_expression "&local_33c" & identifier) )))) ;) (if_statement "if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }" if (parenthesized_expression "((iVar6 != 0) && (local_33c == '\n'))" ( (binary_expression "(iVar6 != 0) && (local_33c == '\n')" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_33c == '\n')" ( (binary_expression "local_33c == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }" { (expression_statement "AcquireNextImage(param_1,local_378,param_2);" (call_expression "AcquireNextImage(param_1,local_378,param_2)" identifier (argument_list "(param_1,local_378,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar26 = GetNextImageInList(local_378);" (assignment_expression "iVar26 = GetNextImageInList(local_378)" identifier = (call_expression "GetNextImageInList(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (compound_statement "{\n          local_350 = 0;\n          break;\n        }" { (expression_statement "local_350 = 0;" (assignment_expression "local_350 = 0" identifier = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "local_378 = (int *)SyncNextImageInList(local_378);" (assignment_expression "local_378 = (int *)SyncNextImageInList(local_378)" identifier = (cast_expression "(int *)SyncNextImageInList(local_378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "SyncNextImageInList(local_378)" identifier (argument_list "(local_378)" ( identifier ))))) ;) (expression_statement "uVar29 = GetBlobSize(local_378);" (assignment_expression "uVar29 = GetBlobSize(local_378)" identifier = (call_expression "GetBlobSize(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "uVar30 = TellBlob(local_378);" (assignment_expression "uVar30 = TellBlob(local_378)" identifier = (call_expression "TellBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);" (assignment_expression "local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29)" identifier = (call_expression "SetImageProgress(local_378,"Load/Images",uVar30,uVar29)" identifier (argument_list "(local_378,"Load/Images",uVar30,uVar29)" ( identifier , (string_literal ""Load/Images"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (local_350 == 0) break;" if (parenthesized_expression "(local_350 == 0)" ( (binary_expression "local_350 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "local_344 = local_344 + 1;" (assignment_expression "local_344 = local_344 + 1" identifier = (binary_expression "local_344 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_344 != 0x400)" ( (binary_expression "local_344 != 0x400" identifier != number_literal) )) ;) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) (labeled_statement "LAB_0026a58c:\n    CloseBlob(local_378);" statement_identifier : (expression_statement "CloseBlob(local_378);" (call_expression "CloseBlob(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;)) (if_statement "if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }" if (parenthesized_expression "(local_350 == 0)" ( (binary_expression "local_350 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar7 = DestroyImageList(local_378);\n    }" { (expression_statement "uVar7 = DestroyImageList(local_378);" (assignment_expression "uVar7 = DestroyImageList(local_378)" identifier = (call_expression "DestroyImageList(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) }) (else_clause "else {\n      uVar7 = GetFirstImageInList(local_378);\n    }" else (compound_statement "{\n      uVar7 = GetFirstImageInList(local_378);\n    }" { (expression_statement "uVar7 = GetFirstImageInList(local_378);" (assignment_expression "uVar7 = GetFirstImageInList(local_378)" identifier = (call_expression "GetFirstImageInList(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) }))) }))) (labeled_statement "LAB_002690c4:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_002decd0();\n  }" { comment (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "LogEventType": Some values do not have unique names */\n\nImage * ReadPCXImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  int iVar1;\n  ClassType CVar2;\n  PixelChannelMap *pPVar3;\n  PixelInfo *pPVar4;\n  char cVar5;\n  float fVar6;\n  int iVar7;\n  uint uVar8;\n  Image *pIVar9;\n  ssize_t sVar10;\n  MagickBooleanType MVar11;\n  byte *pbVar12;\n  int *piVar13;\n  size_t sVar14;\n  byte *pbVar15;\n  MemoryInfo *memory_info;\n  undefined1 *__s;\n  int iVar16;\n  undefined1 *puVar17;\n  Quantum *pQVar18;\n  uint uVar19;\n  byte *pbVar20;\n  MagickRealType *pMVar21;\n  void *memory;\n  byte bVar22;\n  undefined1 *puVar23;\n  byte *pbVar24;\n  size_t sVar25;\n  byte bVar26;\n  uint uVar27;\n  byte *pbVar28;\n  uint uVar29;\n  undefined1 *puVar30;\n  uint *puVar31;\n  size_t sVar32;\n  int in_GS_OFFSET;\n  bool bVar33;\n  byte bVar34;\n  MagickOffsetType MVar35;\n  MagickSizeType MVar36;\n  ExceptionType EVar37;\n  char *pcVar38;\n  Image *local_378;\n  size_t local_370;\n  MemoryInfo *local_36c;\n  void *local_364;\n  uint *local_360;\n  MemoryInfo *local_358;\n  MagickBooleanType local_350;\n  uint local_34c;\n  int local_348;\n  int local_344;\n  PCXInfo pcx_info;\n  uchar pcx_colormap [768];\n  \n  bVar34 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pcx.c","ReadPCXImage",0x10e,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }\n  local_378 = AcquireImage(image_info,exception);\n  local_350 = OpenBlob(image_info,local_378,ReadBinaryBlobMode,exception);\n  if (local_350 == MagickFalse) {\n    DestroyImageList(local_378);\n    pIVar9 = (Image *)0x0;\n    goto LAB_002690c4;\n  }\n  iVar7 = LocaleCompare(image_info->magick,"DCX");\n  if (iVar7 == 0) {\n    uVar8 = ReadBlobLSBLong(local_378);\n    if (uVar8 == 0x3ade68b1) {\n      local_360 = (uint *)AcquireQuantumMemory(0x400,8);\n      puVar31 = local_360;\n      if (local_360 == (uint *)0x0) {\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n      }\n      else {\n        do {\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        } while (puVar31 != local_360 + 0x800);\n        MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);\n        if (-1 < MVar35) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename);\n      }\n    }\n    else {\n      ThrowMagickException\n                (exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,\n                 "ImproperImageHeader","`%s\'",image_info->filename);\n    }\n    if (local_378 != (Image *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    pIVar9 = (Image *)0x0;\n  }\n  else {\n    local_360 = (uint *)0x0;\nLAB_0026919c:\n    sVar10 = ReadBlob(local_378,1,&pcx_info);\n    local_364 = (void *)0x0;\n    local_344 = 1;\n    local_36c = (MemoryInfo *)0x0;\n    do {\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.version = (uchar)iVar7;\n      if ((sVar10 != 1) || (pcx_info.identifier != '\n')) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.encoding = (uchar)iVar7;\n      iVar7 = ReadBlobByte(local_378);\n      if (iVar7 == -1) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      pcx_info.bits_per_pixel = (uchar)iVar7;\n      pcx_info.left = ReadBlobLSBShort(local_378);\n      pcx_info.top = ReadBlobLSBShort(local_378);\n      pcx_info.right = ReadBlobLSBShort(local_378);\n      pcx_info.bottom = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_resolution = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_resolution = ReadBlobLSBShort(local_378);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "UnexpectedEndOfFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||\n         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))))\n      {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      sVar14 = ((uint)pcx_info.right - (uint)pcx_info.left) + 1;\n      sVar32 = ((uint)pcx_info.bottom - (uint)pcx_info.top) + 1;\n      local_378->depth = (uint)pcx_info.bits_per_pixel;\n      local_378->columns = sVar14;\n      (local_378->resolution).x = (double)pcx_info.horizontal_resolution;\n      local_378->rows = sVar32;\n      local_378->units = PixelsPerInchResolution;\n      (local_378->resolution).y = (double)pcx_info.vertical_resolution;\n      local_378->colors = 0x10;\n      if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      MVar36 = GetBlobSize(local_378);\n      if (((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "InsufficientImageDataInFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378->columns,local_378->rows,exception);\n      if (local_350 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = exception->reason;\n        if (exception->reason == (char *)0x0) {\n          pcVar38 = "unknown";\n        }\n        EVar37 = exception->severity;\n        sVar14 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,exception);\n      pbVar15 = pcx_colormap;\n      for (iVar7 = 0xc0; iVar7 != 0; iVar7 = iVar7 + -1) {\n        pbVar15[0] = 0;\n        pbVar15[1] = 0;\n        pbVar15[2] = 0;\n        pbVar15[3] = 0;\n        pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;\n      }\n      sVar10 = ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n      if (local_378->colors * 3 != sVar10) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.reserved = (uchar)iVar7;\n      uVar8 = ReadBlobByte(local_378);\n      pcx_info.planes = (uchar)uVar8;\n      if (pcx_info.planes == 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < pcx_info.planes) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar8 = (uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel;\n      if (0x3f < uVar8) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&\n         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))) {\n        sVar14 = 1 << ((byte)uVar8 & 0x1f);\n        if (0x100 < sVar14) {\n          sVar14 = 0x100;\n        }\n        local_378->colors = sVar14;\n      }\n      else {\n        sVar14 = local_378->colors;\n      }\n      MVar11 = AcquireImageColormap(local_378,sVar14,exception);\n      if (MVar11 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')) {\n        local_378->storage_class = DirectClass;\n      }\n      fVar6 = DAT_002e814c;\n      sVar14 = local_378->colors;\n      if (0 < (int)sVar14) {\n        pbVar15 = pcx_colormap;\n        pMVar21 = &local_378->colormap->red;\n        do {\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        } while (pbVar12 != pcx_colormap + sVar14 * 3);\n      }\n      pcx_info.bytes_per_line = ReadBlobLSBShort(local_378);\n      pcx_info.palette_info = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_screensize = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_screensize = ReadBlobLSBShort(local_378);\n      iVar7 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar7 = iVar7 + -1;\n      } while (iVar7 != 0);\n      uVar29 = (uint)pcx_info.bytes_per_line;\n      uVar8 = local_378->rows;\n      if ((uVar8 == 0) || (uVar29 == 0)) {\nLAB_0026963a:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar27 = uVar29 * uVar8;\n      if (uVar29 != uVar27 / uVar8) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar8 = (uint)pcx_info.planes;\n      if ((uVar27 == 0) || (uVar8 == 0)) {\nLAB_002696ee:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar29 = uVar8 * uVar27;\n      if (uVar8 != uVar29 / uVar27) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar8 = pcx_info.bits_per_pixel * uVar8 * local_378->columns;\n      if (uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x196;\n        goto LAB_00269ff0;\n      }\n      MVar36 = GetBlobSize(local_378);\n      if ((MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x198;\n        goto LAB_00269ff0;\n      }\n      sVar14 = (size_t)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        sVar14 = 8;\n      }\n      uVar8 = (uint)pcx_info.bytes_per_line;\n      if ((uint)pcx_info.bytes_per_line < local_378->columns) {\n        uVar8 = local_378->columns;\n      }\n      pbVar15 = (byte *)AcquireQuantumMemory(uVar8,sVar14);\n      memory_info = AcquireVirtualMemory(uVar29,2);\n      if ((pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0)) {\n        if (pbVar15 == (byte *)0x0) {\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar8 = local_378->columns;\n      if (local_378->columns <= (uint)pcx_info.bytes_per_line) {\n        uVar8 = (uint)pcx_info.bytes_per_line;\n      }\n      uVar27 = (uint)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        uVar27 = 8;\n      }\n      memset(pbVar15,0,uVar8 * uVar27);\n      __s = (undefined1 *)GetVirtualMemoryBlob(memory_info);\n      memset(__s,0,uVar29 * 2);\n      puVar30 = __s;\n      if (pcx_info.encoding == '\0') {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }\n      }\n      else {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (local_378->storage_class == DirectClass) {\n        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;\n      }\n      else if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }\n      local_364 = (void *)0x0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < (int)local_378->rows) {\n        do {\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        } while ((int)local_364 < (int)uVar8);\n      }\n      if (local_378->storage_class == PseudoClass) {\n        SyncImage(local_378,exception);\n      }\n      local_364 = RelinquishMagickMemory(pbVar15);\n      local_36c = RelinquishVirtualMemory(memory_info);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        piVar13 = __errno_location();\n        pcVar38 = GetExceptionMessage(*piVar13);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar38);\nLAB_0026aa7e:\n        if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((image_info->number_scenes != 0) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      MVar35 = SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)\n      ;\n      if (MVar35 < 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      sVar10 = ReadBlob(local_378,1,&pcx_info);\n      if ((sVar10 != 0) && (pcx_info.identifier == '\n')) {\n        AcquireNextImage(image_info,local_378,exception);\n        pIVar9 = GetNextImageInList(local_378);\n        if (pIVar9 == (Image *)0x0) {\n          local_350 = MagickFalse;\n          break;\n        }\n        local_378 = SyncNextImageInList(local_378);\n        MVar36 = GetBlobSize(local_378);\n        MVar35 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);\n        if (local_350 == MagickFalse) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == MagickFalse) {\n      pIVar9 = DestroyImageList(local_378);\n    }\n    else {\n      pIVar9 = GetFirstImageInList(local_378);\n    }\n  }\nLAB_002690c4:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return pIVar9;\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "Image * ReadPCXImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  int iVar1;\n  ClassType CVar2;\n  PixelChannelMap *pPVar3;\n  PixelInfo *pPVar4;\n  char cVar5;\n  float fVar6;\n  int iVar7;\n  uint uVar8;\n  Image *pIVar9;\n  ssize_t sVar10;\n  MagickBooleanType MVar11;\n  byte *pbVar12;\n  int *piVar13;\n  size_t sVar14;\n  byte *pbVar15;\n  MemoryInfo *memory_info;\n  undefined1 *__s;\n  int iVar16;\n  undefined1 *puVar17;\n  Quantum *pQVar18;\n  uint uVar19;\n  byte *pbVar20;\n  MagickRealType *pMVar21;\n  void *memory;\n  byte bVar22;\n  undefined1 *puVar23;\n  byte *pbVar24;\n  size_t sVar25;\n  byte bVar26;\n  uint uVar27;\n  byte *pbVar28;\n  uint uVar29;\n  undefined1 *puVar30;\n  uint *puVar31;\n  size_t sVar32;\n  int in_GS_OFFSET;\n  bool bVar33;\n  byte bVar34;\n  MagickOffsetType MVar35;\n  MagickSizeType MVar36;\n  ExceptionType EVar37;\n  char *pcVar38;\n  Image *local_378;\n  size_t local_370;\n  MemoryInfo *local_36c;\n  void *local_364;\n  uint *local_360;\n  MemoryInfo *local_358;\n  MagickBooleanType local_350;\n  uint local_34c;\n  int local_348;\n  int local_344;\n  PCXInfo pcx_info;\n  uchar pcx_colormap [768];\n  \n  bVar34 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pcx.c","ReadPCXImage",0x10e,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }\n  local_378 = AcquireImage(image_info,exception);\n  local_350 = OpenBlob(image_info,local_378,ReadBinaryBlobMode,exception);\n  if (local_350 == MagickFalse) {\n    DestroyImageList(local_378);\n    pIVar9 = (Image *)0x0;\n    goto LAB_002690c4;\n  }\n  iVar7 = LocaleCompare(image_info->magick,"DCX");\n  if (iVar7 == 0) {\n    uVar8 = ReadBlobLSBLong(local_378);\n    if (uVar8 == 0x3ade68b1) {\n      local_360 = (uint *)AcquireQuantumMemory(0x400,8);\n      puVar31 = local_360;\n      if (local_360 == (uint *)0x0) {\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n      }\n      else {\n        do {\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        } while (puVar31 != local_360 + 0x800);\n        MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);\n        if (-1 < MVar35) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename);\n      }\n    }\n    else {\n      ThrowMagickException\n                (exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,\n                 "ImproperImageHeader","`%s\'",image_info->filename);\n    }\n    if (local_378 != (Image *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    pIVar9 = (Image *)0x0;\n  }\n  else {\n    local_360 = (uint *)0x0;\nLAB_0026919c:\n    sVar10 = ReadBlob(local_378,1,&pcx_info);\n    local_364 = (void *)0x0;\n    local_344 = 1;\n    local_36c = (MemoryInfo *)0x0;\n    do {\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.version = (uchar)iVar7;\n      if ((sVar10 != 1) || (pcx_info.identifier != '\n')) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.encoding = (uchar)iVar7;\n      iVar7 = ReadBlobByte(local_378);\n      if (iVar7 == -1) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      pcx_info.bits_per_pixel = (uchar)iVar7;\n      pcx_info.left = ReadBlobLSBShort(local_378);\n      pcx_info.top = ReadBlobLSBShort(local_378);\n      pcx_info.right = ReadBlobLSBShort(local_378);\n      pcx_info.bottom = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_resolution = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_resolution = ReadBlobLSBShort(local_378);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "UnexpectedEndOfFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||\n         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))))\n      {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      sVar14 = ((uint)pcx_info.right - (uint)pcx_info.left) + 1;\n      sVar32 = ((uint)pcx_info.bottom - (uint)pcx_info.top) + 1;\n      local_378->depth = (uint)pcx_info.bits_per_pixel;\n      local_378->columns = sVar14;\n      (local_378->resolution).x = (double)pcx_info.horizontal_resolution;\n      local_378->rows = sVar32;\n      local_378->units = PixelsPerInchResolution;\n      (local_378->resolution).y = (double)pcx_info.vertical_resolution;\n      local_378->colors = 0x10;\n      if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      MVar36 = GetBlobSize(local_378);\n      if (((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "InsufficientImageDataInFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378->columns,local_378->rows,exception);\n      if (local_350 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = exception->reason;\n        if (exception->reason == (char *)0x0) {\n          pcVar38 = "unknown";\n        }\n        EVar37 = exception->severity;\n        sVar14 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,exception);\n      pbVar15 = pcx_colormap;\n      for (iVar7 = 0xc0; iVar7 != 0; iVar7 = iVar7 + -1) {\n        pbVar15[0] = 0;\n        pbVar15[1] = 0;\n        pbVar15[2] = 0;\n        pbVar15[3] = 0;\n        pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;\n      }\n      sVar10 = ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n      if (local_378->colors * 3 != sVar10) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.reserved = (uchar)iVar7;\n      uVar8 = ReadBlobByte(local_378);\n      pcx_info.planes = (uchar)uVar8;\n      if (pcx_info.planes == 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < pcx_info.planes) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar8 = (uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel;\n      if (0x3f < uVar8) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&\n         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))) {\n        sVar14 = 1 << ((byte)uVar8 & 0x1f);\n        if (0x100 < sVar14) {\n          sVar14 = 0x100;\n        }\n        local_378->colors = sVar14;\n      }\n      else {\n        sVar14 = local_378->colors;\n      }\n      MVar11 = AcquireImageColormap(local_378,sVar14,exception);\n      if (MVar11 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')) {\n        local_378->storage_class = DirectClass;\n      }\n      fVar6 = DAT_002e814c;\n      sVar14 = local_378->colors;\n      if (0 < (int)sVar14) {\n        pbVar15 = pcx_colormap;\n        pMVar21 = &local_378->colormap->red;\n        do {\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        } while (pbVar12 != pcx_colormap + sVar14 * 3);\n      }\n      pcx_info.bytes_per_line = ReadBlobLSBShort(local_378);\n      pcx_info.palette_info = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_screensize = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_screensize = ReadBlobLSBShort(local_378);\n      iVar7 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar7 = iVar7 + -1;\n      } while (iVar7 != 0);\n      uVar29 = (uint)pcx_info.bytes_per_line;\n      uVar8 = local_378->rows;\n      if ((uVar8 == 0) || (uVar29 == 0)) {\nLAB_0026963a:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar27 = uVar29 * uVar8;\n      if (uVar29 != uVar27 / uVar8) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar8 = (uint)pcx_info.planes;\n      if ((uVar27 == 0) || (uVar8 == 0)) {\nLAB_002696ee:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar29 = uVar8 * uVar27;\n      if (uVar8 != uVar29 / uVar27) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar8 = pcx_info.bits_per_pixel * uVar8 * local_378->columns;\n      if (uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x196;\n        goto LAB_00269ff0;\n      }\n      MVar36 = GetBlobSize(local_378);\n      if ((MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x198;\n        goto LAB_00269ff0;\n      }\n      sVar14 = (size_t)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        sVar14 = 8;\n      }\n      uVar8 = (uint)pcx_info.bytes_per_line;\n      if ((uint)pcx_info.bytes_per_line < local_378->columns) {\n        uVar8 = local_378->columns;\n      }\n      pbVar15 = (byte *)AcquireQuantumMemory(uVar8,sVar14);\n      memory_info = AcquireVirtualMemory(uVar29,2);\n      if ((pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0)) {\n        if (pbVar15 == (byte *)0x0) {\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar8 = local_378->columns;\n      if (local_378->columns <= (uint)pcx_info.bytes_per_line) {\n        uVar8 = (uint)pcx_info.bytes_per_line;\n      }\n      uVar27 = (uint)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        uVar27 = 8;\n      }\n      memset(pbVar15,0,uVar8 * uVar27);\n      __s = (undefined1 *)GetVirtualMemoryBlob(memory_info);\n      memset(__s,0,uVar29 * 2);\n      puVar30 = __s;\n      if (pcx_info.encoding == '\0') {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }\n      }\n      else {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (local_378->storage_class == DirectClass) {\n        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;\n      }\n      else if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }\n      local_364 = (void *)0x0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < (int)local_378->rows) {\n        do {\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        } while ((int)local_364 < (int)uVar8);\n      }\n      if (local_378->storage_class == PseudoClass) {\n        SyncImage(local_378,exception);\n      }\n      local_364 = RelinquishMagickMemory(pbVar15);\n      local_36c = RelinquishVirtualMemory(memory_info);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        piVar13 = __errno_location();\n        pcVar38 = GetExceptionMessage(*piVar13);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar38);\nLAB_0026aa7e:\n        if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((image_info->number_scenes != 0) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      MVar35 = SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)\n      ;\n      if (MVar35 < 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      sVar10 = ReadBlob(local_378,1,&pcx_info);\n      if ((sVar10 != 0) && (pcx_info.identifier == '\n')) {\n        AcquireNextImage(image_info,local_378,exception);\n        pIVar9 = GetNextImageInList(local_378);\n        if (pIVar9 == (Image *)0x0) {\n          local_350 = MagickFalse;\n          break;\n        }\n        local_378 = SyncNextImageInList(local_378);\n        MVar36 = GetBlobSize(local_378);\n        MVar35 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);\n        if (local_350 == MagickFalse) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == MagickFalse) {\n      pIVar9 = DestroyImageList(local_378);\n    }\n    else {\n      pIVar9 = GetFirstImageInList(local_378);\n    }\n  }\nLAB_002690c4:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return pIVar9;\n}" type_identifier (pointer_declarator "* ReadPCXImage(ImageInfo *image_info,ExceptionInfo *exception)" * (function_declarator "ReadPCXImage(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  int iVar1;\n  ClassType CVar2;\n  PixelChannelMap *pPVar3;\n  PixelInfo *pPVar4;\n  char cVar5;\n  float fVar6;\n  int iVar7;\n  uint uVar8;\n  Image *pIVar9;\n  ssize_t sVar10;\n  MagickBooleanType MVar11;\n  byte *pbVar12;\n  int *piVar13;\n  size_t sVar14;\n  byte *pbVar15;\n  MemoryInfo *memory_info;\n  undefined1 *__s;\n  int iVar16;\n  undefined1 *puVar17;\n  Quantum *pQVar18;\n  uint uVar19;\n  byte *pbVar20;\n  MagickRealType *pMVar21;\n  void *memory;\n  byte bVar22;\n  undefined1 *puVar23;\n  byte *pbVar24;\n  size_t sVar25;\n  byte bVar26;\n  uint uVar27;\n  byte *pbVar28;\n  uint uVar29;\n  undefined1 *puVar30;\n  uint *puVar31;\n  size_t sVar32;\n  int in_GS_OFFSET;\n  bool bVar33;\n  byte bVar34;\n  MagickOffsetType MVar35;\n  MagickSizeType MVar36;\n  ExceptionType EVar37;\n  char *pcVar38;\n  Image *local_378;\n  size_t local_370;\n  MemoryInfo *local_36c;\n  void *local_364;\n  uint *local_360;\n  MemoryInfo *local_358;\n  MagickBooleanType local_350;\n  uint local_34c;\n  int local_348;\n  int local_344;\n  PCXInfo pcx_info;\n  uchar pcx_colormap [768];\n  \n  bVar34 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pcx.c","ReadPCXImage",0x10e,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }\n  local_378 = AcquireImage(image_info,exception);\n  local_350 = OpenBlob(image_info,local_378,ReadBinaryBlobMode,exception);\n  if (local_350 == MagickFalse) {\n    DestroyImageList(local_378);\n    pIVar9 = (Image *)0x0;\n    goto LAB_002690c4;\n  }\n  iVar7 = LocaleCompare(image_info->magick,"DCX");\n  if (iVar7 == 0) {\n    uVar8 = ReadBlobLSBLong(local_378);\n    if (uVar8 == 0x3ade68b1) {\n      local_360 = (uint *)AcquireQuantumMemory(0x400,8);\n      puVar31 = local_360;\n      if (local_360 == (uint *)0x0) {\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n      }\n      else {\n        do {\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        } while (puVar31 != local_360 + 0x800);\n        MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);\n        if (-1 < MVar35) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename);\n      }\n    }\n    else {\n      ThrowMagickException\n                (exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,\n                 "ImproperImageHeader","`%s\'",image_info->filename);\n    }\n    if (local_378 != (Image *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    pIVar9 = (Image *)0x0;\n  }\n  else {\n    local_360 = (uint *)0x0;\nLAB_0026919c:\n    sVar10 = ReadBlob(local_378,1,&pcx_info);\n    local_364 = (void *)0x0;\n    local_344 = 1;\n    local_36c = (MemoryInfo *)0x0;\n    do {\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.version = (uchar)iVar7;\n      if ((sVar10 != 1) || (pcx_info.identifier != '\n')) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.encoding = (uchar)iVar7;\n      iVar7 = ReadBlobByte(local_378);\n      if (iVar7 == -1) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      pcx_info.bits_per_pixel = (uchar)iVar7;\n      pcx_info.left = ReadBlobLSBShort(local_378);\n      pcx_info.top = ReadBlobLSBShort(local_378);\n      pcx_info.right = ReadBlobLSBShort(local_378);\n      pcx_info.bottom = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_resolution = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_resolution = ReadBlobLSBShort(local_378);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "UnexpectedEndOfFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||\n         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))))\n      {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      sVar14 = ((uint)pcx_info.right - (uint)pcx_info.left) + 1;\n      sVar32 = ((uint)pcx_info.bottom - (uint)pcx_info.top) + 1;\n      local_378->depth = (uint)pcx_info.bits_per_pixel;\n      local_378->columns = sVar14;\n      (local_378->resolution).x = (double)pcx_info.horizontal_resolution;\n      local_378->rows = sVar32;\n      local_378->units = PixelsPerInchResolution;\n      (local_378->resolution).y = (double)pcx_info.vertical_resolution;\n      local_378->colors = 0x10;\n      if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      MVar36 = GetBlobSize(local_378);\n      if (((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "InsufficientImageDataInFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378->columns,local_378->rows,exception);\n      if (local_350 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = exception->reason;\n        if (exception->reason == (char *)0x0) {\n          pcVar38 = "unknown";\n        }\n        EVar37 = exception->severity;\n        sVar14 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,exception);\n      pbVar15 = pcx_colormap;\n      for (iVar7 = 0xc0; iVar7 != 0; iVar7 = iVar7 + -1) {\n        pbVar15[0] = 0;\n        pbVar15[1] = 0;\n        pbVar15[2] = 0;\n        pbVar15[3] = 0;\n        pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;\n      }\n      sVar10 = ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n      if (local_378->colors * 3 != sVar10) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.reserved = (uchar)iVar7;\n      uVar8 = ReadBlobByte(local_378);\n      pcx_info.planes = (uchar)uVar8;\n      if (pcx_info.planes == 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < pcx_info.planes) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar8 = (uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel;\n      if (0x3f < uVar8) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&\n         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))) {\n        sVar14 = 1 << ((byte)uVar8 & 0x1f);\n        if (0x100 < sVar14) {\n          sVar14 = 0x100;\n        }\n        local_378->colors = sVar14;\n      }\n      else {\n        sVar14 = local_378->colors;\n      }\n      MVar11 = AcquireImageColormap(local_378,sVar14,exception);\n      if (MVar11 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')) {\n        local_378->storage_class = DirectClass;\n      }\n      fVar6 = DAT_002e814c;\n      sVar14 = local_378->colors;\n      if (0 < (int)sVar14) {\n        pbVar15 = pcx_colormap;\n        pMVar21 = &local_378->colormap->red;\n        do {\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        } while (pbVar12 != pcx_colormap + sVar14 * 3);\n      }\n      pcx_info.bytes_per_line = ReadBlobLSBShort(local_378);\n      pcx_info.palette_info = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_screensize = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_screensize = ReadBlobLSBShort(local_378);\n      iVar7 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar7 = iVar7 + -1;\n      } while (iVar7 != 0);\n      uVar29 = (uint)pcx_info.bytes_per_line;\n      uVar8 = local_378->rows;\n      if ((uVar8 == 0) || (uVar29 == 0)) {\nLAB_0026963a:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar27 = uVar29 * uVar8;\n      if (uVar29 != uVar27 / uVar8) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar8 = (uint)pcx_info.planes;\n      if ((uVar27 == 0) || (uVar8 == 0)) {\nLAB_002696ee:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar29 = uVar8 * uVar27;\n      if (uVar8 != uVar29 / uVar27) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar8 = pcx_info.bits_per_pixel * uVar8 * local_378->columns;\n      if (uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x196;\n        goto LAB_00269ff0;\n      }\n      MVar36 = GetBlobSize(local_378);\n      if ((MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x198;\n        goto LAB_00269ff0;\n      }\n      sVar14 = (size_t)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        sVar14 = 8;\n      }\n      uVar8 = (uint)pcx_info.bytes_per_line;\n      if ((uint)pcx_info.bytes_per_line < local_378->columns) {\n        uVar8 = local_378->columns;\n      }\n      pbVar15 = (byte *)AcquireQuantumMemory(uVar8,sVar14);\n      memory_info = AcquireVirtualMemory(uVar29,2);\n      if ((pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0)) {\n        if (pbVar15 == (byte *)0x0) {\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar8 = local_378->columns;\n      if (local_378->columns <= (uint)pcx_info.bytes_per_line) {\n        uVar8 = (uint)pcx_info.bytes_per_line;\n      }\n      uVar27 = (uint)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        uVar27 = 8;\n      }\n      memset(pbVar15,0,uVar8 * uVar27);\n      __s = (undefined1 *)GetVirtualMemoryBlob(memory_info);\n      memset(__s,0,uVar29 * 2);\n      puVar30 = __s;\n      if (pcx_info.encoding == '\0') {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }\n      }\n      else {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (local_378->storage_class == DirectClass) {\n        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;\n      }\n      else if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }\n      local_364 = (void *)0x0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < (int)local_378->rows) {\n        do {\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        } while ((int)local_364 < (int)uVar8);\n      }\n      if (local_378->storage_class == PseudoClass) {\n        SyncImage(local_378,exception);\n      }\n      local_364 = RelinquishMagickMemory(pbVar15);\n      local_36c = RelinquishVirtualMemory(memory_info);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        piVar13 = __errno_location();\n        pcVar38 = GetExceptionMessage(*piVar13);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar38);\nLAB_0026aa7e:\n        if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((image_info->number_scenes != 0) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      MVar35 = SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)\n      ;\n      if (MVar35 < 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      sVar10 = ReadBlob(local_378,1,&pcx_info);\n      if ((sVar10 != 0) && (pcx_info.identifier == '\n')) {\n        AcquireNextImage(image_info,local_378,exception);\n        pIVar9 = GetNextImageInList(local_378);\n        if (pIVar9 == (Image *)0x0) {\n          local_350 = MagickFalse;\n          break;\n        }\n        local_378 = SyncNextImageInList(local_378);\n        MVar36 = GetBlobSize(local_378);\n        MVar35 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);\n        if (local_350 == MagickFalse) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == MagickFalse) {\n      pIVar9 = DestroyImageList(local_378);\n    }\n    else {\n      pIVar9 = GetFirstImageInList(local_378);\n    }\n  }\nLAB_002690c4:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return pIVar9;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "ClassType CVar2;" type_identifier identifier ;) (declaration "PixelChannelMap *pPVar3;" type_identifier (pointer_declarator "*pPVar3" * identifier) ;) (declaration "PixelInfo *pPVar4;" type_identifier (pointer_declarator "*pPVar4" * identifier) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "float fVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "Image *pIVar9;" type_identifier (pointer_declarator "*pIVar9" * identifier) ;) (declaration "ssize_t sVar10;" primitive_type identifier ;) (declaration "MagickBooleanType MVar11;" type_identifier identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "size_t sVar14;" primitive_type identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "MemoryInfo *memory_info;" type_identifier (pointer_declarator "*memory_info" * identifier) ;) (declaration "undefined1 *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "Quantum *pQVar18;" type_identifier (pointer_declarator "*pQVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "MagickRealType *pMVar21;" type_identifier (pointer_declarator "*pMVar21" * identifier) ;) (declaration "void *memory;" primitive_type (pointer_declarator "*memory" * identifier) ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "undefined1 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "size_t sVar25;" primitive_type identifier ;) (declaration "byte bVar26;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "byte *pbVar28;" type_identifier (pointer_declarator "*pbVar28" * identifier) ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "undefined1 *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "uint *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "size_t sVar32;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "byte bVar34;" type_identifier identifier ;) (declaration "MagickOffsetType MVar35;" type_identifier identifier ;) (declaration "MagickSizeType MVar36;" type_identifier identifier ;) (declaration "ExceptionType EVar37;" type_identifier identifier ;) (declaration "char *pcVar38;" primitive_type (pointer_declarator "*pcVar38" * identifier) ;) (declaration "Image *local_378;" type_identifier (pointer_declarator "*local_378" * identifier) ;) (declaration "size_t local_370;" primitive_type identifier ;) (declaration "MemoryInfo *local_36c;" type_identifier (pointer_declarator "*local_36c" * identifier) ;) (declaration "void *local_364;" primitive_type (pointer_declarator "*local_364" * identifier) ;) (declaration "uint *local_360;" type_identifier (pointer_declarator "*local_360" * identifier) ;) (declaration "MemoryInfo *local_358;" type_identifier (pointer_declarator "*local_358" * identifier) ;) (declaration "MagickBooleanType local_350;" type_identifier identifier ;) (declaration "uint local_34c;" type_identifier identifier ;) (declaration "int local_348;" primitive_type identifier ;) (declaration "int local_344;" primitive_type identifier ;) (declaration "PCXInfo pcx_info;" type_identifier identifier ;) (declaration "uchar pcx_colormap [768];" type_identifier (array_declarator "pcx_colormap [768]" identifier [ number_literal ]) ;) (expression_statement "bVar34 = 0;" (assignment_expression "bVar34 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\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/pcx.c",0x10b,"ReadPCXImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }" if (parenthesized_expression "(image_info->signature != 0xabacadab)" ( (binary_expression "image_info->signature != 0xabacadab" (field_expression "image_info->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 )" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 )" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/pcx.c","ReadPCXImage",0x10e,"%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/pcx.c","ReadPCXImage",0x10e,"%s",image_info->filename);\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"coders/pcx.c","ReadPCXImage",0x10e,"%s",image_info->filename);" (call_expression "LogMagickEvent(TraceEvent,"coders/pcx.c","ReadPCXImage",0x10e,"%s",image_info->filename)" identifier (argument_list "(TraceEvent,"coders/pcx.c","ReadPCXImage",0x10e,"%s",image_info->filename)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " 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/pcx.c",0x110,"ReadPCXImage");\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/pcx.c",0x110,"ReadPCXImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (if_statement "if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }" if (parenthesized_expression "(exception->signature != 0xabacadab)" ( (binary_expression "exception->signature != 0xabacadab" (field_expression "exception->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (expression_statement "local_378 = AcquireImage(image_info,exception);" (assignment_expression "local_378 = AcquireImage(image_info,exception)" identifier = (call_expression "AcquireImage(image_info,exception)" identifier (argument_list "(image_info,exception)" ( identifier , identifier )))) ;) (expression_statement "local_350 = OpenBlob(image_info,local_378,ReadBinaryBlobMode,exception);" (assignment_expression "local_350 = OpenBlob(image_info,local_378,ReadBinaryBlobMode,exception)" identifier = (call_expression "OpenBlob(image_info,local_378,ReadBinaryBlobMode,exception)" identifier (argument_list "(image_info,local_378,ReadBinaryBlobMode,exception)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (local_350 == MagickFalse) {\n    DestroyImageList(local_378);\n    pIVar9 = (Image *)0x0;\n    goto LAB_002690c4;\n  }" if (parenthesized_expression "(local_350 == MagickFalse)" ( (binary_expression "local_350 == MagickFalse" identifier == identifier) )) (compound_statement "{\n    DestroyImageList(local_378);\n    pIVar9 = (Image *)0x0;\n    goto LAB_002690c4;\n  }" { (expression_statement "DestroyImageList(local_378);" (call_expression "DestroyImageList(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;) (expression_statement "pIVar9 = (Image *)0x0;" (assignment_expression "pIVar9 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_002690c4;" goto statement_identifier ;) })) (expression_statement "iVar7 = LocaleCompare(image_info->magick,"DCX");" (assignment_expression "iVar7 = LocaleCompare(image_info->magick,"DCX")" identifier = (call_expression "LocaleCompare(image_info->magick,"DCX")" identifier (argument_list "(image_info->magick,"DCX")" ( (field_expression "image_info->magick" identifier -> field_identifier) , (string_literal ""DCX"" " string_content ") )))) ;) (if_statement "if (iVar7 == 0) {\n    uVar8 = ReadBlobLSBLong(local_378);\n    if (uVar8 == 0x3ade68b1) {\n      local_360 = (uint *)AcquireQuantumMemory(0x400,8);\n      puVar31 = local_360;\n      if (local_360 == (uint *)0x0) {\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n      }\n      else {\n        do {\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        } while (puVar31 != local_360 + 0x800);\n        MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);\n        if (-1 < MVar35) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename);\n      }\n    }\n    else {\n      ThrowMagickException\n                (exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,\n                 "ImproperImageHeader","`%s\'",image_info->filename);\n    }\n    if (local_378 != (Image *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    pIVar9 = (Image *)0x0;\n  }\n  else {\n    local_360 = (uint *)0x0;\nLAB_0026919c:\n    sVar10 = ReadBlob(local_378,1,&pcx_info);\n    local_364 = (void *)0x0;\n    local_344 = 1;\n    local_36c = (MemoryInfo *)0x0;\n    do {\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.version = (uchar)iVar7;\n      if ((sVar10 != 1) || (pcx_info.identifier != '\n')) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.encoding = (uchar)iVar7;\n      iVar7 = ReadBlobByte(local_378);\n      if (iVar7 == -1) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      pcx_info.bits_per_pixel = (uchar)iVar7;\n      pcx_info.left = ReadBlobLSBShort(local_378);\n      pcx_info.top = ReadBlobLSBShort(local_378);\n      pcx_info.right = ReadBlobLSBShort(local_378);\n      pcx_info.bottom = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_resolution = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_resolution = ReadBlobLSBShort(local_378);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "UnexpectedEndOfFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||\n         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))))\n      {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      sVar14 = ((uint)pcx_info.right - (uint)pcx_info.left) + 1;\n      sVar32 = ((uint)pcx_info.bottom - (uint)pcx_info.top) + 1;\n      local_378->depth = (uint)pcx_info.bits_per_pixel;\n      local_378->columns = sVar14;\n      (local_378->resolution).x = (double)pcx_info.horizontal_resolution;\n      local_378->rows = sVar32;\n      local_378->units = PixelsPerInchResolution;\n      (local_378->resolution).y = (double)pcx_info.vertical_resolution;\n      local_378->colors = 0x10;\n      if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      MVar36 = GetBlobSize(local_378);\n      if (((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "InsufficientImageDataInFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378->columns,local_378->rows,exception);\n      if (local_350 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = exception->reason;\n        if (exception->reason == (char *)0x0) {\n          pcVar38 = "unknown";\n        }\n        EVar37 = exception->severity;\n        sVar14 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,exception);\n      pbVar15 = pcx_colormap;\n      for (iVar7 = 0xc0; iVar7 != 0; iVar7 = iVar7 + -1) {\n        pbVar15[0] = 0;\n        pbVar15[1] = 0;\n        pbVar15[2] = 0;\n        pbVar15[3] = 0;\n        pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;\n      }\n      sVar10 = ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n      if (local_378->colors * 3 != sVar10) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.reserved = (uchar)iVar7;\n      uVar8 = ReadBlobByte(local_378);\n      pcx_info.planes = (uchar)uVar8;\n      if (pcx_info.planes == 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < pcx_info.planes) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar8 = (uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel;\n      if (0x3f < uVar8) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&\n         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))) {\n        sVar14 = 1 << ((byte)uVar8 & 0x1f);\n        if (0x100 < sVar14) {\n          sVar14 = 0x100;\n        }\n        local_378->colors = sVar14;\n      }\n      else {\n        sVar14 = local_378->colors;\n      }\n      MVar11 = AcquireImageColormap(local_378,sVar14,exception);\n      if (MVar11 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')) {\n        local_378->storage_class = DirectClass;\n      }\n      fVar6 = DAT_002e814c;\n      sVar14 = local_378->colors;\n      if (0 < (int)sVar14) {\n        pbVar15 = pcx_colormap;\n        pMVar21 = &local_378->colormap->red;\n        do {\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        } while (pbVar12 != pcx_colormap + sVar14 * 3);\n      }\n      pcx_info.bytes_per_line = ReadBlobLSBShort(local_378);\n      pcx_info.palette_info = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_screensize = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_screensize = ReadBlobLSBShort(local_378);\n      iVar7 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar7 = iVar7 + -1;\n      } while (iVar7 != 0);\n      uVar29 = (uint)pcx_info.bytes_per_line;\n      uVar8 = local_378->rows;\n      if ((uVar8 == 0) || (uVar29 == 0)) {\nLAB_0026963a:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar27 = uVar29 * uVar8;\n      if (uVar29 != uVar27 / uVar8) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar8 = (uint)pcx_info.planes;\n      if ((uVar27 == 0) || (uVar8 == 0)) {\nLAB_002696ee:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar29 = uVar8 * uVar27;\n      if (uVar8 != uVar29 / uVar27) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar8 = pcx_info.bits_per_pixel * uVar8 * local_378->columns;\n      if (uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x196;\n        goto LAB_00269ff0;\n      }\n      MVar36 = GetBlobSize(local_378);\n      if ((MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x198;\n        goto LAB_00269ff0;\n      }\n      sVar14 = (size_t)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        sVar14 = 8;\n      }\n      uVar8 = (uint)pcx_info.bytes_per_line;\n      if ((uint)pcx_info.bytes_per_line < local_378->columns) {\n        uVar8 = local_378->columns;\n      }\n      pbVar15 = (byte *)AcquireQuantumMemory(uVar8,sVar14);\n      memory_info = AcquireVirtualMemory(uVar29,2);\n      if ((pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0)) {\n        if (pbVar15 == (byte *)0x0) {\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar8 = local_378->columns;\n      if (local_378->columns <= (uint)pcx_info.bytes_per_line) {\n        uVar8 = (uint)pcx_info.bytes_per_line;\n      }\n      uVar27 = (uint)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        uVar27 = 8;\n      }\n      memset(pbVar15,0,uVar8 * uVar27);\n      __s = (undefined1 *)GetVirtualMemoryBlob(memory_info);\n      memset(__s,0,uVar29 * 2);\n      puVar30 = __s;\n      if (pcx_info.encoding == '\0') {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }\n      }\n      else {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (local_378->storage_class == DirectClass) {\n        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;\n      }\n      else if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }\n      local_364 = (void *)0x0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < (int)local_378->rows) {\n        do {\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        } while ((int)local_364 < (int)uVar8);\n      }\n      if (local_378->storage_class == PseudoClass) {\n        SyncImage(local_378,exception);\n      }\n      local_364 = RelinquishMagickMemory(pbVar15);\n      local_36c = RelinquishVirtualMemory(memory_info);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        piVar13 = __errno_location();\n        pcVar38 = GetExceptionMessage(*piVar13);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar38);\nLAB_0026aa7e:\n        if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((image_info->number_scenes != 0) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      MVar35 = SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)\n      ;\n      if (MVar35 < 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      sVar10 = ReadBlob(local_378,1,&pcx_info);\n      if ((sVar10 != 0) && (pcx_info.identifier == '\n')) {\n        AcquireNextImage(image_info,local_378,exception);\n        pIVar9 = GetNextImageInList(local_378);\n        if (pIVar9 == (Image *)0x0) {\n          local_350 = MagickFalse;\n          break;\n        }\n        local_378 = SyncNextImageInList(local_378);\n        MVar36 = GetBlobSize(local_378);\n        MVar35 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);\n        if (local_350 == MagickFalse) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == MagickFalse) {\n      pIVar9 = DestroyImageList(local_378);\n    }\n    else {\n      pIVar9 = GetFirstImageInList(local_378);\n    }\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar8 = ReadBlobLSBLong(local_378);\n    if (uVar8 == 0x3ade68b1) {\n      local_360 = (uint *)AcquireQuantumMemory(0x400,8);\n      puVar31 = local_360;\n      if (local_360 == (uint *)0x0) {\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n      }\n      else {\n        do {\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        } while (puVar31 != local_360 + 0x800);\n        MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);\n        if (-1 < MVar35) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename);\n      }\n    }\n    else {\n      ThrowMagickException\n                (exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,\n                 "ImproperImageHeader","`%s\'",image_info->filename);\n    }\n    if (local_378 != (Image *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    pIVar9 = (Image *)0x0;\n  }" { (expression_statement "uVar8 = ReadBlobLSBLong(local_378);" (assignment_expression "uVar8 = ReadBlobLSBLong(local_378)" identifier = (call_expression "ReadBlobLSBLong(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (uVar8 == 0x3ade68b1) {\n      local_360 = (uint *)AcquireQuantumMemory(0x400,8);\n      puVar31 = local_360;\n      if (local_360 == (uint *)0x0) {\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n      }\n      else {\n        do {\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        } while (puVar31 != local_360 + 0x800);\n        MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);\n        if (-1 < MVar35) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename);\n      }\n    }\n    else {\n      ThrowMagickException\n                (exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,\n                 "ImproperImageHeader","`%s\'",image_info->filename);\n    }" if (parenthesized_expression "(uVar8 == 0x3ade68b1)" ( (binary_expression "uVar8 == 0x3ade68b1" identifier == number_literal) )) (compound_statement "{\n      local_360 = (uint *)AcquireQuantumMemory(0x400,8);\n      puVar31 = local_360;\n      if (local_360 == (uint *)0x0) {\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n      }\n      else {\n        do {\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        } while (puVar31 != local_360 + 0x800);\n        MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);\n        if (-1 < MVar35) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename);\n      }\n    }" { (expression_statement "local_360 = (uint *)AcquireQuantumMemory(0x400,8);" (assignment_expression "local_360 = (uint *)AcquireQuantumMemory(0x400,8)" identifier = (cast_expression "(uint *)AcquireQuantumMemory(0x400,8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(0x400,8)" identifier (argument_list "(0x400,8)" ( number_literal , number_literal ))))) ;) (expression_statement "puVar31 = local_360;" (assignment_expression "puVar31 = local_360" identifier = identifier) ;) (if_statement "if (local_360 == (uint *)0x0) {\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n      }\n      else {\n        do {\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        } while (puVar31 != local_360 + 0x800);\n        MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);\n        if (-1 < MVar35) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename);\n      }" if (parenthesized_expression "(local_360 == (uint *)0x0)" ( (binary_expression "local_360 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n      }" { (expression_statement "pcVar38 = "MemoryAllocationFailed";" (assignment_expression "pcVar38 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "EVar37 = ErrorException;" (assignment_expression "EVar37 = ErrorException" identifier = identifier) ;) (expression_statement "sVar14 = 0x12d;" (assignment_expression "sVar14 = 0x12d" identifier = number_literal) ;) (labeled_statement "LAB_0026a2c8:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);" statement_identifier : (expression_statement "ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);" (call_expression "ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename)" identifier (argument_list "(exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;)) }) (else_clause "else {\n        do {\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        } while (puVar31 != local_360 + 0x800);\n        MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);\n        if (-1 < MVar35) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename);\n      }" else (compound_statement "{\n        do {\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        } while (puVar31 != local_360 + 0x800);\n        MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);\n        if (-1 < MVar35) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename);\n      }" { (do_statement "do {\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        } while (puVar31 != local_360 + 0x800);" do (compound_statement "{\n          uVar8 = ReadBlobLSBLong(local_378);\n          puVar31[1] = 0;\n          *puVar31 = uVar8;\n          if (uVar8 == 0) break;\n          puVar31 = puVar31 + 2;\n        }" { (expression_statement "uVar8 = ReadBlobLSBLong(local_378);" (assignment_expression "uVar8 = ReadBlobLSBLong(local_378)" identifier = (call_expression "ReadBlobLSBLong(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "puVar31[1] = 0;" (assignment_expression "puVar31[1] = 0" (subscript_expression "puVar31[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar31 = uVar8;" (assignment_expression "*puVar31 = uVar8" (pointer_expression "*puVar31" * identifier) = identifier) ;) (if_statement "if (uVar8 == 0) break;" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar31 = puVar31 + 2;" (assignment_expression "puVar31 = puVar31 + 2" identifier = (binary_expression "puVar31 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar31 != local_360 + 0x800)" ( (binary_expression "puVar31 != local_360 + 0x800" identifier != (binary_expression "local_360 + 0x800" identifier + number_literal)) )) ;) (expression_statement "MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0);" (assignment_expression "MVar35 = SeekBlob(local_378,*(MagickOffsetType *)local_360,0)" identifier = (call_expression "SeekBlob(local_378,*(MagickOffsetType *)local_360,0)" identifier (argument_list "(local_378,*(MagickOffsetType *)local_360,0)" ( identifier , (pointer_expression "*(MagickOffsetType *)local_360" * (cast_expression "(MagickOffsetType *)local_360" ( (type_descriptor "MagickOffsetType *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal )))) ;) (if_statement "if (-1 < MVar35) goto LAB_0026919c;" if (parenthesized_expression "(-1 < MVar35)" ( (binary_expression "-1 < MVar35" number_literal < identifier) )) (goto_statement "goto LAB_0026919c;" goto statement_identifier ;)) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) (expression_statement "ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename);" (call_expression "ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename)" identifier (argument_list "(exception,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,\n                   "ImproperImageHeader","`%s\'",image_info->filename)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , number_literal , identifier , (string_literal ""ImproperImageHeader"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;) }))) }) (else_clause "else {\n      ThrowMagickException\n                (exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,\n                 "ImproperImageHeader","`%s\'",image_info->filename);\n    }" else (compound_statement "{\n      ThrowMagickException\n                (exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,\n                 "ImproperImageHeader","`%s\'",image_info->filename);\n    }" { (expression_statement "ThrowMagickException\n                (exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,\n                 "ImproperImageHeader","`%s\'",image_info->filename);" (call_expression "ThrowMagickException\n                (exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,\n                 "ImproperImageHeader","`%s\'",image_info->filename)" identifier (argument_list "(exception,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,\n                 "ImproperImageHeader","`%s\'",image_info->filename)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , number_literal , identifier , (string_literal ""ImproperImageHeader"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;) }))) (if_statement "if (local_378 != (Image *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }" if (parenthesized_expression "(local_378 != (Image *)0x0)" ( (binary_expression "local_378 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }" { (labeled_statement "LAB_002690b2:\n      CloseBlob(local_378);" statement_identifier : (expression_statement "CloseBlob(local_378);" (call_expression "CloseBlob(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;)) (expression_statement "DestroyImageList(local_378);" (call_expression "DestroyImageList(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;) })) (expression_statement "pIVar9 = (Image *)0x0;" (assignment_expression "pIVar9 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    local_360 = (uint *)0x0;\nLAB_0026919c:\n    sVar10 = ReadBlob(local_378,1,&pcx_info);\n    local_364 = (void *)0x0;\n    local_344 = 1;\n    local_36c = (MemoryInfo *)0x0;\n    do {\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.version = (uchar)iVar7;\n      if ((sVar10 != 1) || (pcx_info.identifier != '\n')) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.encoding = (uchar)iVar7;\n      iVar7 = ReadBlobByte(local_378);\n      if (iVar7 == -1) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      pcx_info.bits_per_pixel = (uchar)iVar7;\n      pcx_info.left = ReadBlobLSBShort(local_378);\n      pcx_info.top = ReadBlobLSBShort(local_378);\n      pcx_info.right = ReadBlobLSBShort(local_378);\n      pcx_info.bottom = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_resolution = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_resolution = ReadBlobLSBShort(local_378);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "UnexpectedEndOfFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||\n         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))))\n      {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      sVar14 = ((uint)pcx_info.right - (uint)pcx_info.left) + 1;\n      sVar32 = ((uint)pcx_info.bottom - (uint)pcx_info.top) + 1;\n      local_378->depth = (uint)pcx_info.bits_per_pixel;\n      local_378->columns = sVar14;\n      (local_378->resolution).x = (double)pcx_info.horizontal_resolution;\n      local_378->rows = sVar32;\n      local_378->units = PixelsPerInchResolution;\n      (local_378->resolution).y = (double)pcx_info.vertical_resolution;\n      local_378->colors = 0x10;\n      if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      MVar36 = GetBlobSize(local_378);\n      if (((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "InsufficientImageDataInFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378->columns,local_378->rows,exception);\n      if (local_350 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = exception->reason;\n        if (exception->reason == (char *)0x0) {\n          pcVar38 = "unknown";\n        }\n        EVar37 = exception->severity;\n        sVar14 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,exception);\n      pbVar15 = pcx_colormap;\n      for (iVar7 = 0xc0; iVar7 != 0; iVar7 = iVar7 + -1) {\n        pbVar15[0] = 0;\n        pbVar15[1] = 0;\n        pbVar15[2] = 0;\n        pbVar15[3] = 0;\n        pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;\n      }\n      sVar10 = ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n      if (local_378->colors * 3 != sVar10) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.reserved = (uchar)iVar7;\n      uVar8 = ReadBlobByte(local_378);\n      pcx_info.planes = (uchar)uVar8;\n      if (pcx_info.planes == 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < pcx_info.planes) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar8 = (uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel;\n      if (0x3f < uVar8) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&\n         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))) {\n        sVar14 = 1 << ((byte)uVar8 & 0x1f);\n        if (0x100 < sVar14) {\n          sVar14 = 0x100;\n        }\n        local_378->colors = sVar14;\n      }\n      else {\n        sVar14 = local_378->colors;\n      }\n      MVar11 = AcquireImageColormap(local_378,sVar14,exception);\n      if (MVar11 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')) {\n        local_378->storage_class = DirectClass;\n      }\n      fVar6 = DAT_002e814c;\n      sVar14 = local_378->colors;\n      if (0 < (int)sVar14) {\n        pbVar15 = pcx_colormap;\n        pMVar21 = &local_378->colormap->red;\n        do {\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        } while (pbVar12 != pcx_colormap + sVar14 * 3);\n      }\n      pcx_info.bytes_per_line = ReadBlobLSBShort(local_378);\n      pcx_info.palette_info = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_screensize = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_screensize = ReadBlobLSBShort(local_378);\n      iVar7 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar7 = iVar7 + -1;\n      } while (iVar7 != 0);\n      uVar29 = (uint)pcx_info.bytes_per_line;\n      uVar8 = local_378->rows;\n      if ((uVar8 == 0) || (uVar29 == 0)) {\nLAB_0026963a:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar27 = uVar29 * uVar8;\n      if (uVar29 != uVar27 / uVar8) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar8 = (uint)pcx_info.planes;\n      if ((uVar27 == 0) || (uVar8 == 0)) {\nLAB_002696ee:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar29 = uVar8 * uVar27;\n      if (uVar8 != uVar29 / uVar27) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar8 = pcx_info.bits_per_pixel * uVar8 * local_378->columns;\n      if (uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x196;\n        goto LAB_00269ff0;\n      }\n      MVar36 = GetBlobSize(local_378);\n      if ((MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x198;\n        goto LAB_00269ff0;\n      }\n      sVar14 = (size_t)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        sVar14 = 8;\n      }\n      uVar8 = (uint)pcx_info.bytes_per_line;\n      if ((uint)pcx_info.bytes_per_line < local_378->columns) {\n        uVar8 = local_378->columns;\n      }\n      pbVar15 = (byte *)AcquireQuantumMemory(uVar8,sVar14);\n      memory_info = AcquireVirtualMemory(uVar29,2);\n      if ((pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0)) {\n        if (pbVar15 == (byte *)0x0) {\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar8 = local_378->columns;\n      if (local_378->columns <= (uint)pcx_info.bytes_per_line) {\n        uVar8 = (uint)pcx_info.bytes_per_line;\n      }\n      uVar27 = (uint)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        uVar27 = 8;\n      }\n      memset(pbVar15,0,uVar8 * uVar27);\n      __s = (undefined1 *)GetVirtualMemoryBlob(memory_info);\n      memset(__s,0,uVar29 * 2);\n      puVar30 = __s;\n      if (pcx_info.encoding == '\0') {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }\n      }\n      else {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (local_378->storage_class == DirectClass) {\n        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;\n      }\n      else if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }\n      local_364 = (void *)0x0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < (int)local_378->rows) {\n        do {\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        } while ((int)local_364 < (int)uVar8);\n      }\n      if (local_378->storage_class == PseudoClass) {\n        SyncImage(local_378,exception);\n      }\n      local_364 = RelinquishMagickMemory(pbVar15);\n      local_36c = RelinquishVirtualMemory(memory_info);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        piVar13 = __errno_location();\n        pcVar38 = GetExceptionMessage(*piVar13);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar38);\nLAB_0026aa7e:\n        if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((image_info->number_scenes != 0) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      MVar35 = SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)\n      ;\n      if (MVar35 < 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      sVar10 = ReadBlob(local_378,1,&pcx_info);\n      if ((sVar10 != 0) && (pcx_info.identifier == '\n')) {\n        AcquireNextImage(image_info,local_378,exception);\n        pIVar9 = GetNextImageInList(local_378);\n        if (pIVar9 == (Image *)0x0) {\n          local_350 = MagickFalse;\n          break;\n        }\n        local_378 = SyncNextImageInList(local_378);\n        MVar36 = GetBlobSize(local_378);\n        MVar35 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);\n        if (local_350 == MagickFalse) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == MagickFalse) {\n      pIVar9 = DestroyImageList(local_378);\n    }\n    else {\n      pIVar9 = GetFirstImageInList(local_378);\n    }\n  }" else (compound_statement "{\n    local_360 = (uint *)0x0;\nLAB_0026919c:\n    sVar10 = ReadBlob(local_378,1,&pcx_info);\n    local_364 = (void *)0x0;\n    local_344 = 1;\n    local_36c = (MemoryInfo *)0x0;\n    do {\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.version = (uchar)iVar7;\n      if ((sVar10 != 1) || (pcx_info.identifier != '\n')) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.encoding = (uchar)iVar7;\n      iVar7 = ReadBlobByte(local_378);\n      if (iVar7 == -1) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      pcx_info.bits_per_pixel = (uchar)iVar7;\n      pcx_info.left = ReadBlobLSBShort(local_378);\n      pcx_info.top = ReadBlobLSBShort(local_378);\n      pcx_info.right = ReadBlobLSBShort(local_378);\n      pcx_info.bottom = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_resolution = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_resolution = ReadBlobLSBShort(local_378);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "UnexpectedEndOfFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||\n         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))))\n      {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      sVar14 = ((uint)pcx_info.right - (uint)pcx_info.left) + 1;\n      sVar32 = ((uint)pcx_info.bottom - (uint)pcx_info.top) + 1;\n      local_378->depth = (uint)pcx_info.bits_per_pixel;\n      local_378->columns = sVar14;\n      (local_378->resolution).x = (double)pcx_info.horizontal_resolution;\n      local_378->rows = sVar32;\n      local_378->units = PixelsPerInchResolution;\n      (local_378->resolution).y = (double)pcx_info.vertical_resolution;\n      local_378->colors = 0x10;\n      if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      MVar36 = GetBlobSize(local_378);\n      if (((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "InsufficientImageDataInFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378->columns,local_378->rows,exception);\n      if (local_350 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = exception->reason;\n        if (exception->reason == (char *)0x0) {\n          pcVar38 = "unknown";\n        }\n        EVar37 = exception->severity;\n        sVar14 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,exception);\n      pbVar15 = pcx_colormap;\n      for (iVar7 = 0xc0; iVar7 != 0; iVar7 = iVar7 + -1) {\n        pbVar15[0] = 0;\n        pbVar15[1] = 0;\n        pbVar15[2] = 0;\n        pbVar15[3] = 0;\n        pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;\n      }\n      sVar10 = ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n      if (local_378->colors * 3 != sVar10) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.reserved = (uchar)iVar7;\n      uVar8 = ReadBlobByte(local_378);\n      pcx_info.planes = (uchar)uVar8;\n      if (pcx_info.planes == 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < pcx_info.planes) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar8 = (uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel;\n      if (0x3f < uVar8) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&\n         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))) {\n        sVar14 = 1 << ((byte)uVar8 & 0x1f);\n        if (0x100 < sVar14) {\n          sVar14 = 0x100;\n        }\n        local_378->colors = sVar14;\n      }\n      else {\n        sVar14 = local_378->colors;\n      }\n      MVar11 = AcquireImageColormap(local_378,sVar14,exception);\n      if (MVar11 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')) {\n        local_378->storage_class = DirectClass;\n      }\n      fVar6 = DAT_002e814c;\n      sVar14 = local_378->colors;\n      if (0 < (int)sVar14) {\n        pbVar15 = pcx_colormap;\n        pMVar21 = &local_378->colormap->red;\n        do {\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        } while (pbVar12 != pcx_colormap + sVar14 * 3);\n      }\n      pcx_info.bytes_per_line = ReadBlobLSBShort(local_378);\n      pcx_info.palette_info = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_screensize = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_screensize = ReadBlobLSBShort(local_378);\n      iVar7 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar7 = iVar7 + -1;\n      } while (iVar7 != 0);\n      uVar29 = (uint)pcx_info.bytes_per_line;\n      uVar8 = local_378->rows;\n      if ((uVar8 == 0) || (uVar29 == 0)) {\nLAB_0026963a:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar27 = uVar29 * uVar8;\n      if (uVar29 != uVar27 / uVar8) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar8 = (uint)pcx_info.planes;\n      if ((uVar27 == 0) || (uVar8 == 0)) {\nLAB_002696ee:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar29 = uVar8 * uVar27;\n      if (uVar8 != uVar29 / uVar27) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar8 = pcx_info.bits_per_pixel * uVar8 * local_378->columns;\n      if (uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x196;\n        goto LAB_00269ff0;\n      }\n      MVar36 = GetBlobSize(local_378);\n      if ((MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x198;\n        goto LAB_00269ff0;\n      }\n      sVar14 = (size_t)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        sVar14 = 8;\n      }\n      uVar8 = (uint)pcx_info.bytes_per_line;\n      if ((uint)pcx_info.bytes_per_line < local_378->columns) {\n        uVar8 = local_378->columns;\n      }\n      pbVar15 = (byte *)AcquireQuantumMemory(uVar8,sVar14);\n      memory_info = AcquireVirtualMemory(uVar29,2);\n      if ((pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0)) {\n        if (pbVar15 == (byte *)0x0) {\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar8 = local_378->columns;\n      if (local_378->columns <= (uint)pcx_info.bytes_per_line) {\n        uVar8 = (uint)pcx_info.bytes_per_line;\n      }\n      uVar27 = (uint)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        uVar27 = 8;\n      }\n      memset(pbVar15,0,uVar8 * uVar27);\n      __s = (undefined1 *)GetVirtualMemoryBlob(memory_info);\n      memset(__s,0,uVar29 * 2);\n      puVar30 = __s;\n      if (pcx_info.encoding == '\0') {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }\n      }\n      else {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (local_378->storage_class == DirectClass) {\n        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;\n      }\n      else if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }\n      local_364 = (void *)0x0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < (int)local_378->rows) {\n        do {\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        } while ((int)local_364 < (int)uVar8);\n      }\n      if (local_378->storage_class == PseudoClass) {\n        SyncImage(local_378,exception);\n      }\n      local_364 = RelinquishMagickMemory(pbVar15);\n      local_36c = RelinquishVirtualMemory(memory_info);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        piVar13 = __errno_location();\n        pcVar38 = GetExceptionMessage(*piVar13);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar38);\nLAB_0026aa7e:\n        if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((image_info->number_scenes != 0) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      MVar35 = SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)\n      ;\n      if (MVar35 < 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      sVar10 = ReadBlob(local_378,1,&pcx_info);\n      if ((sVar10 != 0) && (pcx_info.identifier == '\n')) {\n        AcquireNextImage(image_info,local_378,exception);\n        pIVar9 = GetNextImageInList(local_378);\n        if (pIVar9 == (Image *)0x0) {\n          local_350 = MagickFalse;\n          break;\n        }\n        local_378 = SyncNextImageInList(local_378);\n        MVar36 = GetBlobSize(local_378);\n        MVar35 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);\n        if (local_350 == MagickFalse) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == MagickFalse) {\n      pIVar9 = DestroyImageList(local_378);\n    }\n    else {\n      pIVar9 = GetFirstImageInList(local_378);\n    }\n  }" { (expression_statement "local_360 = (uint *)0x0;" (assignment_expression "local_360 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0026919c:\n    sVar10 = ReadBlob(local_378,1,&pcx_info);" statement_identifier : (expression_statement "sVar10 = ReadBlob(local_378,1,&pcx_info);" (assignment_expression "sVar10 = ReadBlob(local_378,1,&pcx_info)" identifier = (call_expression "ReadBlob(local_378,1,&pcx_info)" identifier (argument_list "(local_378,1,&pcx_info)" ( identifier , number_literal , (pointer_expression "&pcx_info" & identifier) )))) ;)) (expression_statement "local_364 = (void *)0x0;" (assignment_expression "local_364 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_344 = 1;" (assignment_expression "local_344 = 1" identifier = number_literal) ;) (expression_statement "local_36c = (MemoryInfo *)0x0;" (assignment_expression "local_36c = (MemoryInfo *)0x0" identifier = (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.version = (uchar)iVar7;\n      if ((sVar10 != 1) || (pcx_info.identifier != '\n')) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.encoding = (uchar)iVar7;\n      iVar7 = ReadBlobByte(local_378);\n      if (iVar7 == -1) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      pcx_info.bits_per_pixel = (uchar)iVar7;\n      pcx_info.left = ReadBlobLSBShort(local_378);\n      pcx_info.top = ReadBlobLSBShort(local_378);\n      pcx_info.right = ReadBlobLSBShort(local_378);\n      pcx_info.bottom = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_resolution = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_resolution = ReadBlobLSBShort(local_378);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "UnexpectedEndOfFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||\n         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))))\n      {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      sVar14 = ((uint)pcx_info.right - (uint)pcx_info.left) + 1;\n      sVar32 = ((uint)pcx_info.bottom - (uint)pcx_info.top) + 1;\n      local_378->depth = (uint)pcx_info.bits_per_pixel;\n      local_378->columns = sVar14;\n      (local_378->resolution).x = (double)pcx_info.horizontal_resolution;\n      local_378->rows = sVar32;\n      local_378->units = PixelsPerInchResolution;\n      (local_378->resolution).y = (double)pcx_info.vertical_resolution;\n      local_378->colors = 0x10;\n      if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      MVar36 = GetBlobSize(local_378);\n      if (((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "InsufficientImageDataInFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378->columns,local_378->rows,exception);\n      if (local_350 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = exception->reason;\n        if (exception->reason == (char *)0x0) {\n          pcVar38 = "unknown";\n        }\n        EVar37 = exception->severity;\n        sVar14 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,exception);\n      pbVar15 = pcx_colormap;\n      for (iVar7 = 0xc0; iVar7 != 0; iVar7 = iVar7 + -1) {\n        pbVar15[0] = 0;\n        pbVar15[1] = 0;\n        pbVar15[2] = 0;\n        pbVar15[3] = 0;\n        pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;\n      }\n      sVar10 = ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n      if (local_378->colors * 3 != sVar10) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.reserved = (uchar)iVar7;\n      uVar8 = ReadBlobByte(local_378);\n      pcx_info.planes = (uchar)uVar8;\n      if (pcx_info.planes == 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < pcx_info.planes) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar8 = (uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel;\n      if (0x3f < uVar8) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&\n         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))) {\n        sVar14 = 1 << ((byte)uVar8 & 0x1f);\n        if (0x100 < sVar14) {\n          sVar14 = 0x100;\n        }\n        local_378->colors = sVar14;\n      }\n      else {\n        sVar14 = local_378->colors;\n      }\n      MVar11 = AcquireImageColormap(local_378,sVar14,exception);\n      if (MVar11 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')) {\n        local_378->storage_class = DirectClass;\n      }\n      fVar6 = DAT_002e814c;\n      sVar14 = local_378->colors;\n      if (0 < (int)sVar14) {\n        pbVar15 = pcx_colormap;\n        pMVar21 = &local_378->colormap->red;\n        do {\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        } while (pbVar12 != pcx_colormap + sVar14 * 3);\n      }\n      pcx_info.bytes_per_line = ReadBlobLSBShort(local_378);\n      pcx_info.palette_info = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_screensize = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_screensize = ReadBlobLSBShort(local_378);\n      iVar7 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar7 = iVar7 + -1;\n      } while (iVar7 != 0);\n      uVar29 = (uint)pcx_info.bytes_per_line;\n      uVar8 = local_378->rows;\n      if ((uVar8 == 0) || (uVar29 == 0)) {\nLAB_0026963a:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar27 = uVar29 * uVar8;\n      if (uVar29 != uVar27 / uVar8) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar8 = (uint)pcx_info.planes;\n      if ((uVar27 == 0) || (uVar8 == 0)) {\nLAB_002696ee:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar29 = uVar8 * uVar27;\n      if (uVar8 != uVar29 / uVar27) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar8 = pcx_info.bits_per_pixel * uVar8 * local_378->columns;\n      if (uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x196;\n        goto LAB_00269ff0;\n      }\n      MVar36 = GetBlobSize(local_378);\n      if ((MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x198;\n        goto LAB_00269ff0;\n      }\n      sVar14 = (size_t)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        sVar14 = 8;\n      }\n      uVar8 = (uint)pcx_info.bytes_per_line;\n      if ((uint)pcx_info.bytes_per_line < local_378->columns) {\n        uVar8 = local_378->columns;\n      }\n      pbVar15 = (byte *)AcquireQuantumMemory(uVar8,sVar14);\n      memory_info = AcquireVirtualMemory(uVar29,2);\n      if ((pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0)) {\n        if (pbVar15 == (byte *)0x0) {\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar8 = local_378->columns;\n      if (local_378->columns <= (uint)pcx_info.bytes_per_line) {\n        uVar8 = (uint)pcx_info.bytes_per_line;\n      }\n      uVar27 = (uint)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        uVar27 = 8;\n      }\n      memset(pbVar15,0,uVar8 * uVar27);\n      __s = (undefined1 *)GetVirtualMemoryBlob(memory_info);\n      memset(__s,0,uVar29 * 2);\n      puVar30 = __s;\n      if (pcx_info.encoding == '\0') {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }\n      }\n      else {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (local_378->storage_class == DirectClass) {\n        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;\n      }\n      else if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }\n      local_364 = (void *)0x0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < (int)local_378->rows) {\n        do {\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        } while ((int)local_364 < (int)uVar8);\n      }\n      if (local_378->storage_class == PseudoClass) {\n        SyncImage(local_378,exception);\n      }\n      local_364 = RelinquishMagickMemory(pbVar15);\n      local_36c = RelinquishVirtualMemory(memory_info);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        piVar13 = __errno_location();\n        pcVar38 = GetExceptionMessage(*piVar13);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar38);\nLAB_0026aa7e:\n        if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((image_info->number_scenes != 0) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      MVar35 = SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)\n      ;\n      if (MVar35 < 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      sVar10 = ReadBlob(local_378,1,&pcx_info);\n      if ((sVar10 != 0) && (pcx_info.identifier == '\n')) {\n        AcquireNextImage(image_info,local_378,exception);\n        pIVar9 = GetNextImageInList(local_378);\n        if (pIVar9 == (Image *)0x0) {\n          local_350 = MagickFalse;\n          break;\n        }\n        local_378 = SyncNextImageInList(local_378);\n        MVar36 = GetBlobSize(local_378);\n        MVar35 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);\n        if (local_350 == MagickFalse) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);" do (compound_statement "{\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.version = (uchar)iVar7;\n      if ((sVar10 != 1) || (pcx_info.identifier != '\n')) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.encoding = (uchar)iVar7;\n      iVar7 = ReadBlobByte(local_378);\n      if (iVar7 == -1) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      pcx_info.bits_per_pixel = (uchar)iVar7;\n      pcx_info.left = ReadBlobLSBShort(local_378);\n      pcx_info.top = ReadBlobLSBShort(local_378);\n      pcx_info.right = ReadBlobLSBShort(local_378);\n      pcx_info.bottom = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_resolution = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_resolution = ReadBlobLSBShort(local_378);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "UnexpectedEndOfFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||\n         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))))\n      {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      sVar14 = ((uint)pcx_info.right - (uint)pcx_info.left) + 1;\n      sVar32 = ((uint)pcx_info.bottom - (uint)pcx_info.top) + 1;\n      local_378->depth = (uint)pcx_info.bits_per_pixel;\n      local_378->columns = sVar14;\n      (local_378->resolution).x = (double)pcx_info.horizontal_resolution;\n      local_378->rows = sVar32;\n      local_378->units = PixelsPerInchResolution;\n      (local_378->resolution).y = (double)pcx_info.vertical_resolution;\n      local_378->colors = 0x10;\n      if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      MVar36 = GetBlobSize(local_378);\n      if (((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "InsufficientImageDataInFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378->columns,local_378->rows,exception);\n      if (local_350 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = exception->reason;\n        if (exception->reason == (char *)0x0) {\n          pcVar38 = "unknown";\n        }\n        EVar37 = exception->severity;\n        sVar14 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,exception);\n      pbVar15 = pcx_colormap;\n      for (iVar7 = 0xc0; iVar7 != 0; iVar7 = iVar7 + -1) {\n        pbVar15[0] = 0;\n        pbVar15[1] = 0;\n        pbVar15[2] = 0;\n        pbVar15[3] = 0;\n        pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;\n      }\n      sVar10 = ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n      if (local_378->colors * 3 != sVar10) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      iVar7 = ReadBlobByte(local_378);\n      pcx_info.reserved = (uchar)iVar7;\n      uVar8 = ReadBlobByte(local_378);\n      pcx_info.planes = (uchar)uVar8;\n      if (pcx_info.planes == 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < pcx_info.planes) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar8 = (uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel;\n      if (0x3f < uVar8) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&\n         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))) {\n        sVar14 = 1 << ((byte)uVar8 & 0x1f);\n        if (0x100 < sVar14) {\n          sVar14 = 0x100;\n        }\n        local_378->colors = sVar14;\n      }\n      else {\n        sVar14 = local_378->colors;\n      }\n      MVar11 = AcquireImageColormap(local_378,sVar14,exception);\n      if (MVar11 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')) {\n        local_378->storage_class = DirectClass;\n      }\n      fVar6 = DAT_002e814c;\n      sVar14 = local_378->colors;\n      if (0 < (int)sVar14) {\n        pbVar15 = pcx_colormap;\n        pMVar21 = &local_378->colormap->red;\n        do {\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        } while (pbVar12 != pcx_colormap + sVar14 * 3);\n      }\n      pcx_info.bytes_per_line = ReadBlobLSBShort(local_378);\n      pcx_info.palette_info = ReadBlobLSBShort(local_378);\n      pcx_info.horizontal_screensize = ReadBlobLSBShort(local_378);\n      pcx_info.vertical_screensize = ReadBlobLSBShort(local_378);\n      iVar7 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar7 = iVar7 + -1;\n      } while (iVar7 != 0);\n      uVar29 = (uint)pcx_info.bytes_per_line;\n      uVar8 = local_378->rows;\n      if ((uVar8 == 0) || (uVar29 == 0)) {\nLAB_0026963a:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar27 = uVar29 * uVar8;\n      if (uVar29 != uVar27 / uVar8) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar8 = (uint)pcx_info.planes;\n      if ((uVar27 == 0) || (uVar8 == 0)) {\nLAB_002696ee:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar29 = uVar8 * uVar27;\n      if (uVar8 != uVar29 / uVar27) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar8 = pcx_info.bits_per_pixel * uVar8 * local_378->columns;\n      if (uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x196;\n        goto LAB_00269ff0;\n      }\n      MVar36 = GetBlobSize(local_378);\n      if ((MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x198;\n        goto LAB_00269ff0;\n      }\n      sVar14 = (size_t)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        sVar14 = 8;\n      }\n      uVar8 = (uint)pcx_info.bytes_per_line;\n      if ((uint)pcx_info.bytes_per_line < local_378->columns) {\n        uVar8 = local_378->columns;\n      }\n      pbVar15 = (byte *)AcquireQuantumMemory(uVar8,sVar14);\n      memory_info = AcquireVirtualMemory(uVar29,2);\n      if ((pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0)) {\n        if (pbVar15 == (byte *)0x0) {\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar8 = local_378->columns;\n      if (local_378->columns <= (uint)pcx_info.bytes_per_line) {\n        uVar8 = (uint)pcx_info.bytes_per_line;\n      }\n      uVar27 = (uint)pcx_info.planes;\n      if (pcx_info.planes < 8) {\n        uVar27 = 8;\n      }\n      memset(pbVar15,0,uVar8 * uVar27);\n      __s = (undefined1 *)GetVirtualMemoryBlob(memory_info);\n      memset(__s,0,uVar29 * 2);\n      puVar30 = __s;\n      if (pcx_info.encoding == '\0') {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }\n      }\n      else {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (local_378->storage_class == DirectClass) {\n        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;\n      }\n      else if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }\n      local_364 = (void *)0x0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < (int)local_378->rows) {\n        do {\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        } while ((int)local_364 < (int)uVar8);\n      }\n      if (local_378->storage_class == PseudoClass) {\n        SyncImage(local_378,exception);\n      }\n      local_364 = RelinquishMagickMemory(pbVar15);\n      local_36c = RelinquishVirtualMemory(memory_info);\n      iVar7 = EOFBlob(local_378);\n      if (iVar7 != 0) {\n        piVar13 = __errno_location();\n        pcVar38 = GetExceptionMessage(*piVar13);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar38);\nLAB_0026aa7e:\n        if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((image_info->number_scenes != 0) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;\n      if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      MVar35 = SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)\n      ;\n      if (MVar35 < 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      sVar10 = ReadBlob(local_378,1,&pcx_info);\n      if ((sVar10 != 0) && (pcx_info.identifier == '\n')) {\n        AcquireNextImage(image_info,local_378,exception);\n        pIVar9 = GetNextImageInList(local_378);\n        if (pIVar9 == (Image *)0x0) {\n          local_350 = MagickFalse;\n          break;\n        }\n        local_378 = SyncNextImageInList(local_378);\n        MVar36 = GetBlobSize(local_378);\n        MVar35 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);\n        if (local_350 == MagickFalse) break;\n      }\n      local_344 = local_344 + 1;\n    }" { (expression_statement "iVar7 = ReadBlobByte(local_378);" (assignment_expression "iVar7 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.version = (uchar)iVar7;" (assignment_expression "pcx_info.version = (uchar)iVar7" (field_expression "pcx_info.version" identifier . field_identifier) = (cast_expression "(uchar)iVar7" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (if_statement "if ((sVar10 != 1) || (pcx_info.identifier != '\n')) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x146;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "((sVar10 != 1) || (pcx_info.identifier != '\n'))" ( (binary_expression "(sVar10 != 1) || (pcx_info.identifier != '\n')" (parenthesized_expression "(sVar10 != 1)" ( (binary_expression "sVar10 != 1" identifier != number_literal) )) || (parenthesized_expression "(pcx_info.identifier != '\n')" ( (binary_expression "pcx_info.identifier != '\n'" (field_expression "pcx_info.identifier" identifier . field_identifier) != (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x146;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x146;" (assignment_expression "sVar14 = 0x146" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (expression_statement "iVar7 = ReadBlobByte(local_378);" (assignment_expression "iVar7 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.encoding = (uchar)iVar7;" (assignment_expression "pcx_info.encoding = (uchar)iVar7" (field_expression "pcx_info.encoding" identifier . field_identifier) = (cast_expression "(uchar)iVar7" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (expression_statement "iVar7 = ReadBlobByte(local_378);" (assignment_expression "iVar7 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar7 == -1) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x14a;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x14a;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x14a;" (assignment_expression "sVar14 = 0x14a" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (expression_statement "pcx_info.bits_per_pixel = (uchar)iVar7;" (assignment_expression "pcx_info.bits_per_pixel = (uchar)iVar7" (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier) = (cast_expression "(uchar)iVar7" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (expression_statement "pcx_info.left = ReadBlobLSBShort(local_378);" (assignment_expression "pcx_info.left = ReadBlobLSBShort(local_378)" (field_expression "pcx_info.left" identifier . field_identifier) = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.top = ReadBlobLSBShort(local_378);" (assignment_expression "pcx_info.top = ReadBlobLSBShort(local_378)" (field_expression "pcx_info.top" identifier . field_identifier) = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.right = ReadBlobLSBShort(local_378);" (assignment_expression "pcx_info.right = ReadBlobLSBShort(local_378)" (field_expression "pcx_info.right" identifier . field_identifier) = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.bottom = ReadBlobLSBShort(local_378);" (assignment_expression "pcx_info.bottom = ReadBlobLSBShort(local_378)" (field_expression "pcx_info.bottom" identifier . field_identifier) = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.horizontal_resolution = ReadBlobLSBShort(local_378);" (assignment_expression "pcx_info.horizontal_resolution = ReadBlobLSBShort(local_378)" (field_expression "pcx_info.horizontal_resolution" identifier . field_identifier) = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.vertical_resolution = ReadBlobLSBShort(local_378);" (assignment_expression "pcx_info.vertical_resolution = ReadBlobLSBShort(local_378)" (field_expression "pcx_info.vertical_resolution" identifier . field_identifier) = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar7 = EOFBlob(local_378);" (assignment_expression "iVar7 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "UnexpectedEndOfFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x153;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "UnexpectedEndOfFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x153;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "UnexpectedEndOfFile";" (assignment_expression "pcVar38 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x153;" (assignment_expression "sVar14 = 0x153" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (if_statement "if (((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||\n         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))))\n      {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x15a;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "(((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||\n         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))))" ( (binary_expression "((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||\n         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1))))" (parenthesized_expression "((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top))" ( (binary_expression "(pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)" (parenthesized_expression "(pcx_info.right < pcx_info.left)" ( (binary_expression "pcx_info.right < pcx_info.left" (field_expression "pcx_info.right" identifier . field_identifier) < (field_expression "pcx_info.left" identifier . field_identifier)) )) || (parenthesized_expression "(pcx_info.bottom < pcx_info.top)" ( (binary_expression "pcx_info.bottom < pcx_info.top" (field_expression "pcx_info.bottom" identifier . field_identifier) < (field_expression "pcx_info.top" identifier . field_identifier)) ))) )) || (parenthesized_expression "(((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1))))" ( (parenthesized_expression "((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1)))" ( (binary_expression "(pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (byte)(pcx_info.bits_per_pixel - 1))" (binary_expression "(pcx_info.bits_per_pixel - 4 & 0xfb) != 0" (parenthesized_expression "(pcx_info.bits_per_pixel - 4 & 0xfb)" ( (binary_expression "pcx_info.bits_per_pixel - 4 & 0xfb" (binary_expression "pcx_info.bits_per_pixel - 4" (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier) - number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "(1 < (byte)(pcx_info.bits_per_pixel - 1))" ( (binary_expression "1 < (byte)(pcx_info.bits_per_pixel - 1)" number_literal < (call_expression "(byte)(pcx_info.bits_per_pixel - 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pcx_info.bits_per_pixel - 1)" ( (binary_expression "pcx_info.bits_per_pixel - 1" (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier) - number_literal) )))) ))) )) ))) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x15a;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x15a;" (assignment_expression "sVar14 = 0x15a" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (expression_statement "sVar14 = ((uint)pcx_info.right - (uint)pcx_info.left) + 1;" (assignment_expression "sVar14 = ((uint)pcx_info.right - (uint)pcx_info.left) + 1" identifier = (binary_expression "((uint)pcx_info.right - (uint)pcx_info.left) + 1" (parenthesized_expression "((uint)pcx_info.right - (uint)pcx_info.left)" ( (binary_expression "(uint)pcx_info.right - (uint)pcx_info.left" (cast_expression "(uint)pcx_info.right" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.right" identifier . field_identifier)) - (cast_expression "(uint)pcx_info.left" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.left" identifier . field_identifier))) )) + number_literal)) ;) (expression_statement "sVar32 = ((uint)pcx_info.bottom - (uint)pcx_info.top) + 1;" (assignment_expression "sVar32 = ((uint)pcx_info.bottom - (uint)pcx_info.top) + 1" identifier = (binary_expression "((uint)pcx_info.bottom - (uint)pcx_info.top) + 1" (parenthesized_expression "((uint)pcx_info.bottom - (uint)pcx_info.top)" ( (binary_expression "(uint)pcx_info.bottom - (uint)pcx_info.top" (cast_expression "(uint)pcx_info.bottom" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bottom" identifier . field_identifier)) - (cast_expression "(uint)pcx_info.top" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.top" identifier . field_identifier))) )) + number_literal)) ;) (expression_statement "local_378->depth = (uint)pcx_info.bits_per_pixel;" (assignment_expression "local_378->depth = (uint)pcx_info.bits_per_pixel" (field_expression "local_378->depth" identifier -> field_identifier) = (cast_expression "(uint)pcx_info.bits_per_pixel" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier))) ;) (expression_statement "local_378->columns = sVar14;" (assignment_expression "local_378->columns = sVar14" (field_expression "local_378->columns" identifier -> field_identifier) = identifier) ;) (expression_statement "(local_378->resolution).x = (double)pcx_info.horizontal_resolution;" (assignment_expression "(local_378->resolution).x = (double)pcx_info.horizontal_resolution" (field_expression "(local_378->resolution).x" (parenthesized_expression "(local_378->resolution)" ( (field_expression "local_378->resolution" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(double)pcx_info.horizontal_resolution" ( (type_descriptor "double" primitive_type) ) (field_expression "pcx_info.horizontal_resolution" identifier . field_identifier))) ;) (expression_statement "local_378->rows = sVar32;" (assignment_expression "local_378->rows = sVar32" (field_expression "local_378->rows" identifier -> field_identifier) = identifier) ;) (expression_statement "local_378->units = PixelsPerInchResolution;" (assignment_expression "local_378->units = PixelsPerInchResolution" (field_expression "local_378->units" identifier -> field_identifier) = identifier) ;) (expression_statement "(local_378->resolution).y = (double)pcx_info.vertical_resolution;" (assignment_expression "(local_378->resolution).y = (double)pcx_info.vertical_resolution" (field_expression "(local_378->resolution).y" (parenthesized_expression "(local_378->resolution)" ( (field_expression "local_378->resolution" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(double)pcx_info.vertical_resolution" ( (type_descriptor "double" primitive_type) ) (field_expression "pcx_info.vertical_resolution" identifier . field_identifier))) ;) (expression_statement "local_378->colors = 0x10;" (assignment_expression "local_378->colors = 0x10" (field_expression "local_378->colors" identifier -> field_identifier) = number_literal) ;) (if_statement "if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;" if (parenthesized_expression "(((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))" ( (binary_expression "((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene)" (parenthesized_expression "((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))" ( (binary_expression "(image_info->ping != MagickFalse) && (image_info->number_scenes != 0)" (parenthesized_expression "(image_info->ping != MagickFalse)" ( (binary_expression "image_info->ping != MagickFalse" (field_expression "image_info->ping" identifier -> field_identifier) != identifier) )) && (parenthesized_expression "(image_info->number_scenes != 0)" ( (binary_expression "image_info->number_scenes != 0" (field_expression "image_info->number_scenes" identifier -> field_identifier) != number_literal) ))) )) && (parenthesized_expression "((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene)" ( (binary_expression "(image_info->number_scenes + image_info->scene) - 1 <= local_378->scene" (binary_expression "(image_info->number_scenes + image_info->scene) - 1" (parenthesized_expression "(image_info->number_scenes + image_info->scene)" ( (binary_expression "image_info->number_scenes + image_info->scene" (field_expression "image_info->number_scenes" identifier -> field_identifier) + (field_expression "image_info->scene" identifier -> field_identifier)) )) - number_literal) <= (field_expression "local_378->scene" identifier -> field_identifier)) ))) )) (goto_statement "goto LAB_0026aa7e;" goto statement_identifier ;)) (expression_statement "MVar36 = GetBlobSize(local_378);" (assignment_expression "MVar36 = GetBlobSize(local_378)" identifier = (call_expression "GetBlobSize(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "InsufficientImageDataInFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n        goto LAB_002690b2;\n      }" if (parenthesized_expression "(((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff))" ( (binary_expression "((int)(MVar36 >> 0x20) == 0) && ((uint)MVar36 < (sVar14 * sVar32) / 0xff)" (parenthesized_expression "((int)(MVar36 >> 0x20) == 0)" ( (binary_expression "(int)(MVar36 >> 0x20) == 0" (cast_expression "(int)(MVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(MVar36 >> 0x20)" ( (binary_expression "MVar36 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)MVar36 < (sVar14 * sVar32) / 0xff)" ( (binary_expression "(uint)MVar36 < (sVar14 * sVar32) / 0xff" (cast_expression "(uint)MVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "(sVar14 * sVar32) / 0xff" (parenthesized_expression "(sVar14 * sVar32)" ( (binary_expression "sVar14 * sVar32" identifier * identifier) )) / number_literal)) ))) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "InsufficientImageDataInFile";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);\n        goto LAB_002690b2;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "InsufficientImageDataInFile";" (assignment_expression "pcVar38 = "InsufficientImageDataInFile"" identifier = (string_literal ""InsufficientImageDataInFile"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x166;" (assignment_expression "sVar14 = 0x166" identifier = number_literal) ;) (labeled_statement "LAB_00269ff0:\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);" statement_identifier : (expression_statement "ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename);" (call_expression "ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename)" identifier (argument_list "(exception,"coders/pcx.c","ReadPCXImage",sVar14,EVar37,pcVar38,"`%s\'",\n                   image_info->filename)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;)) (goto_statement "goto LAB_002690b2;" goto statement_identifier ;) })) (expression_statement "local_350 = SetImageExtent(local_378,local_378->columns,local_378->rows,exception);" (assignment_expression "local_350 = SetImageExtent(local_378,local_378->columns,local_378->rows,exception)" identifier = (call_expression "SetImageExtent(local_378,local_378->columns,local_378->rows,exception)" identifier (argument_list "(local_378,local_378->columns,local_378->rows,exception)" ( identifier , (field_expression "local_378->columns" identifier -> field_identifier) , (field_expression "local_378->rows" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (local_350 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = exception->reason;\n        if (exception->reason == (char *)0x0) {\n          pcVar38 = "unknown";\n        }\n        EVar37 = exception->severity;\n        sVar14 = 0x169;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(local_350 == MagickFalse)" ( (binary_expression "local_350 == MagickFalse" identifier == identifier) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = exception->reason;\n        if (exception->reason == (char *)0x0) {\n          pcVar38 = "unknown";\n        }\n        EVar37 = exception->severity;\n        sVar14 = 0x169;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = exception->reason;" (assignment_expression "pcVar38 = exception->reason" identifier = (field_expression "exception->reason" identifier -> field_identifier)) ;) (if_statement "if (exception->reason == (char *)0x0) {\n          pcVar38 = "unknown";\n        }" if (parenthesized_expression "(exception->reason == (char *)0x0)" ( (binary_expression "exception->reason == (char *)0x0" (field_expression "exception->reason" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar38 = "unknown";\n        }" { (expression_statement "pcVar38 = "unknown";" (assignment_expression "pcVar38 = "unknown"" identifier = (string_literal ""unknown"" " string_content ")) ;) })) (expression_statement "EVar37 = exception->severity;" (assignment_expression "EVar37 = exception->severity" identifier = (field_expression "exception->severity" identifier -> field_identifier)) ;) (expression_statement "sVar14 = 0x169;" (assignment_expression "sVar14 = 0x169" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "SetImageBackgroundColor(local_378,exception);" (call_expression "SetImageBackgroundColor(local_378,exception)" identifier (argument_list "(local_378,exception)" ( identifier , identifier ))) ;) (expression_statement "pbVar15 = pcx_colormap;" (assignment_expression "pbVar15 = pcx_colormap" identifier = identifier) ;) (for_statement "for (iVar7 = 0xc0; iVar7 != 0; iVar7 = iVar7 + -1) {\n        pbVar15[0] = 0;\n        pbVar15[1] = 0;\n        pbVar15[2] = 0;\n        pbVar15[3] = 0;\n        pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;\n      }" for ( (assignment_expression "iVar7 = 0xc0" identifier = number_literal) ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ) (compound_statement "{\n        pbVar15[0] = 0;\n        pbVar15[1] = 0;\n        pbVar15[2] = 0;\n        pbVar15[3] = 0;\n        pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;\n      }" { (expression_statement "pbVar15[0] = 0;" (assignment_expression "pbVar15[0] = 0" (subscript_expression "pbVar15[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar15[1] = 0;" (assignment_expression "pbVar15[1] = 0" (subscript_expression "pbVar15[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar15[2] = 0;" (assignment_expression "pbVar15[2] = 0" (subscript_expression "pbVar15[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar15[3] = 0;" (assignment_expression "pbVar15[3] = 0" (subscript_expression "pbVar15[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4;" (assignment_expression "pbVar15 = pbVar15 + (uint)bVar34 * -8 + 4" identifier = (binary_expression "pbVar15 + (uint)bVar34 * -8 + 4" (binary_expression "pbVar15 + (uint)bVar34 * -8" identifier + (binary_expression "(uint)bVar34 * -8" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "sVar10 = ReadBlob(local_378,local_378->colors * 3,pcx_colormap);" (assignment_expression "sVar10 = ReadBlob(local_378,local_378->colors * 3,pcx_colormap)" identifier = (call_expression "ReadBlob(local_378,local_378->colors * 3,pcx_colormap)" identifier (argument_list "(local_378,local_378->colors * 3,pcx_colormap)" ( identifier , (binary_expression "local_378->colors * 3" (field_expression "local_378->colors" identifier -> field_identifier) * number_literal) , identifier )))) ;) (if_statement "if (local_378->colors * 3 != sVar10) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x16e;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(local_378->colors * 3 != sVar10)" ( (binary_expression "local_378->colors * 3 != sVar10" (binary_expression "local_378->colors * 3" (field_expression "local_378->colors" identifier -> field_identifier) * number_literal) != identifier) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x16e;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x16e;" (assignment_expression "sVar14 = 0x16e" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "iVar7 = ReadBlobByte(local_378);" (assignment_expression "iVar7 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.reserved = (uchar)iVar7;" (assignment_expression "pcx_info.reserved = (uchar)iVar7" (field_expression "pcx_info.reserved" identifier . field_identifier) = (cast_expression "(uchar)iVar7" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (expression_statement "uVar8 = ReadBlobByte(local_378);" (assignment_expression "uVar8 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.planes = (uchar)uVar8;" (assignment_expression "pcx_info.planes = (uchar)uVar8" (field_expression "pcx_info.planes" identifier . field_identifier) = (cast_expression "(uchar)uVar8" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (if_statement "if (pcx_info.planes == 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x172;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(pcx_info.planes == 0)" ( (binary_expression "pcx_info.planes == 0" (field_expression "pcx_info.planes" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x172;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x172;" (assignment_expression "sVar14 = 0x172" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if (6 < pcx_info.planes) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x174;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(6 < pcx_info.planes)" ( (binary_expression "6 < pcx_info.planes" number_literal < (field_expression "pcx_info.planes" identifier . field_identifier)) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x174;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x174;" (assignment_expression "sVar14 = 0x174" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar8 = (uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel;" (assignment_expression "uVar8 = (uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel" identifier = (binary_expression "(uVar8 & 0xff) * (uint)pcx_info.bits_per_pixel" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) * (cast_expression "(uint)pcx_info.bits_per_pixel" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier)))) ;) (if_statement "if (0x3f < uVar8) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x176;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(0x3f < uVar8)" ( (binary_expression "0x3f < uVar8" number_literal < identifier) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x176;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x176;" (assignment_expression "sVar14 = 0x176" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if (((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&\n         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))) {\n        sVar14 = 1 << ((byte)uVar8 & 0x1f);\n        if (0x100 < sVar14) {\n          sVar14 = 0x100;\n        }\n        local_378->colors = sVar14;\n      }\n      else {\n        sVar14 = local_378->colors;\n      }" if (parenthesized_expression "(((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&\n         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1))))" ( (binary_expression "((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&\n         (((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))" (parenthesized_expression "((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b'))" ( (binary_expression "(pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')" (parenthesized_expression "(pcx_info.planes == 1)" ( (binary_expression "pcx_info.planes == 1" (field_expression "pcx_info.planes" identifier . field_identifier) == number_literal) )) || (parenthesized_expression "(pcx_info.bits_per_pixel != '\b')" ( (binary_expression "pcx_info.bits_per_pixel != '\b'" (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier) != (char_literal "'\b'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)))" ( (parenthesized_expression "((pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1))" ( (binary_expression "(pcx_info.version - 3 & 0xfd) == 0 || (uVar8 == 1)" (binary_expression "(pcx_info.version - 3 & 0xfd) == 0" (parenthesized_expression "(pcx_info.version - 3 & 0xfd)" ( (binary_expression "pcx_info.version - 3 & 0xfd" (binary_expression "pcx_info.version - 3" (field_expression "pcx_info.version" identifier . field_identifier) - number_literal) & number_literal) )) == number_literal) || (parenthesized_expression "(uVar8 == 1)" ( (binary_expression "uVar8 == 1" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n        sVar14 = 1 << ((byte)uVar8 & 0x1f);\n        if (0x100 < sVar14) {\n          sVar14 = 0x100;\n        }\n        local_378->colors = sVar14;\n      }" { (expression_statement "sVar14 = 1 << ((byte)uVar8 & 0x1f);" (assignment_expression "sVar14 = 1 << ((byte)uVar8 & 0x1f)" identifier = (binary_expression "1 << ((byte)uVar8 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar8 & 0x1f)" ( (binary_expression "(byte)uVar8 & 0x1f" (cast_expression "(byte)uVar8" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if (0x100 < sVar14) {\n          sVar14 = 0x100;\n        }" if (parenthesized_expression "(0x100 < sVar14)" ( (binary_expression "0x100 < sVar14" number_literal < identifier) )) (compound_statement "{\n          sVar14 = 0x100;\n        }" { (expression_statement "sVar14 = 0x100;" (assignment_expression "sVar14 = 0x100" identifier = number_literal) ;) })) (expression_statement "local_378->colors = sVar14;" (assignment_expression "local_378->colors = sVar14" (field_expression "local_378->colors" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n        sVar14 = local_378->colors;\n      }" else (compound_statement "{\n        sVar14 = local_378->colors;\n      }" { (expression_statement "sVar14 = local_378->colors;" (assignment_expression "sVar14 = local_378->colors" identifier = (field_expression "local_378->colors" identifier -> field_identifier)) ;) }))) (expression_statement "MVar11 = AcquireImageColormap(local_378,sVar14,exception);" (assignment_expression "MVar11 = AcquireImageColormap(local_378,sVar14,exception)" identifier = (call_expression "AcquireImageColormap(local_378,sVar14,exception)" identifier (argument_list "(local_378,sVar14,exception)" ( identifier , identifier , identifier )))) ;) (if_statement "if (MVar11 == MagickFalse) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x17e;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(MVar11 == MagickFalse)" ( (binary_expression "MVar11 == MagickFalse" identifier == identifier) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x17e;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "MemoryAllocationFailed";" (assignment_expression "pcVar38 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "EVar37 = ErrorException;" (assignment_expression "EVar37 = ErrorException" identifier = identifier) ;) (expression_statement "sVar14 = 0x17e;" (assignment_expression "sVar14 = 0x17e" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')) {\n        local_378->storage_class = DirectClass;\n      }" if (parenthesized_expression "((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01'))" ( (binary_expression "(7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')" (parenthesized_expression "(7 < pcx_info.bits_per_pixel)" ( (binary_expression "7 < pcx_info.bits_per_pixel" number_literal < (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier)) )) && (parenthesized_expression "(pcx_info.planes != '\x01')" ( (binary_expression "pcx_info.planes != '\x01'" (field_expression "pcx_info.planes" identifier . field_identifier) != (char_literal "'\x01'" ' escape_sequence ')) ))) )) (compound_statement "{\n        local_378->storage_class = DirectClass;\n      }" { (expression_statement "local_378->storage_class = DirectClass;" (assignment_expression "local_378->storage_class = DirectClass" (field_expression "local_378->storage_class" identifier -> field_identifier) = identifier) ;) })) (expression_statement "fVar6 = DAT_002e814c;" (assignment_expression "fVar6 = DAT_002e814c" identifier = identifier) ;) (expression_statement "sVar14 = local_378->colors;" (assignment_expression "sVar14 = local_378->colors" identifier = (field_expression "local_378->colors" identifier -> field_identifier)) ;) (if_statement "if (0 < (int)sVar14) {\n        pbVar15 = pcx_colormap;\n        pMVar21 = &local_378->colormap->red;\n        do {\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        } while (pbVar12 != pcx_colormap + sVar14 * 3);\n      }" if (parenthesized_expression "(0 < (int)sVar14)" ( (binary_expression "0 < (int)sVar14" number_literal < (cast_expression "(int)sVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pbVar15 = pcx_colormap;\n        pMVar21 = &local_378->colormap->red;\n        do {\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        } while (pbVar12 != pcx_colormap + sVar14 * 3);\n      }" { (expression_statement "pbVar15 = pcx_colormap;" (assignment_expression "pbVar15 = pcx_colormap" identifier = identifier) ;) (expression_statement "pMVar21 = &local_378->colormap->red;" (assignment_expression "pMVar21 = &local_378->colormap->red" identifier = (pointer_expression "&local_378->colormap->red" & (field_expression "local_378->colormap->red" (field_expression "local_378->colormap" identifier -> field_identifier) -> field_identifier))) ;) (do_statement "do {\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        } while (pbVar12 != pcx_colormap + sVar14 * 3);" do (compound_statement "{\n          pbVar12 = pbVar15 + 3;\n          *pMVar21 = (double)((float)*pbVar15 * fVar6);\n          pMVar21[1] = (double)((float)pbVar15[1] * fVar6);\n          pMVar21[2] = (double)((float)pbVar15[2] * fVar6);\n          pbVar15 = pbVar12;\n          pMVar21 = pMVar21 + 10;\n        }" { (expression_statement "pbVar12 = pbVar15 + 3;" (assignment_expression "pbVar12 = pbVar15 + 3" identifier = (binary_expression "pbVar15 + 3" identifier + number_literal)) ;) (expression_statement "*pMVar21 = (double)((float)*pbVar15 * fVar6);" (assignment_expression "*pMVar21 = (double)((float)*pbVar15 * fVar6)" (pointer_expression "*pMVar21" * identifier) = (cast_expression "(double)((float)*pbVar15 * fVar6)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*pbVar15 * fVar6)" ( (binary_expression "(float)*pbVar15 * fVar6" (cast_expression "(float)*pbVar15" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*pbVar15" * identifier)) * identifier) )))) ;) (expression_statement "pMVar21[1] = (double)((float)pbVar15[1] * fVar6);" (assignment_expression "pMVar21[1] = (double)((float)pbVar15[1] * fVar6)" (subscript_expression "pMVar21[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar15[1] * fVar6)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar15[1] * fVar6)" ( (binary_expression "(float)pbVar15[1] * fVar6" (cast_expression "(float)pbVar15[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pMVar21[2] = (double)((float)pbVar15[2] * fVar6);" (assignment_expression "pMVar21[2] = (double)((float)pbVar15[2] * fVar6)" (subscript_expression "pMVar21[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar15[2] * fVar6)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar15[2] * fVar6)" ( (binary_expression "(float)pbVar15[2] * fVar6" (cast_expression "(float)pbVar15[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar15[2]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pbVar15 = pbVar12;" (assignment_expression "pbVar15 = pbVar12" identifier = identifier) ;) (expression_statement "pMVar21 = pMVar21 + 10;" (assignment_expression "pMVar21 = pMVar21 + 10" identifier = (binary_expression "pMVar21 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar12 != pcx_colormap + sVar14 * 3)" ( (binary_expression "pbVar12 != pcx_colormap + sVar14 * 3" identifier != (binary_expression "pcx_colormap + sVar14 * 3" identifier + (binary_expression "sVar14 * 3" identifier * number_literal))) )) ;) })) (expression_statement "pcx_info.bytes_per_line = ReadBlobLSBShort(local_378);" (assignment_expression "pcx_info.bytes_per_line = ReadBlobLSBShort(local_378)" (field_expression "pcx_info.bytes_per_line" identifier . field_identifier) = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.palette_info = ReadBlobLSBShort(local_378);" (assignment_expression "pcx_info.palette_info = ReadBlobLSBShort(local_378)" (field_expression "pcx_info.palette_info" identifier . field_identifier) = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.horizontal_screensize = ReadBlobLSBShort(local_378);" (assignment_expression "pcx_info.horizontal_screensize = ReadBlobLSBShort(local_378)" (field_expression "pcx_info.horizontal_screensize" identifier . field_identifier) = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.vertical_screensize = ReadBlobLSBShort(local_378);" (assignment_expression "pcx_info.vertical_screensize = ReadBlobLSBShort(local_378)" (field_expression "pcx_info.vertical_screensize" identifier . field_identifier) = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar7 = 0x36;" (assignment_expression "iVar7 = 0x36" identifier = number_literal) ;) (do_statement "do {\n        ReadBlobByte(local_378);\n        iVar7 = iVar7 + -1;\n      } while (iVar7 != 0);" do (compound_statement "{\n        ReadBlobByte(local_378);\n        iVar7 = iVar7 + -1;\n      }" { (expression_statement "ReadBlobByte(local_378);" (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) (expression_statement "uVar29 = (uint)pcx_info.bytes_per_line;" (assignment_expression "uVar29 = (uint)pcx_info.bytes_per_line" identifier = (cast_expression "(uint)pcx_info.bytes_per_line" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bytes_per_line" identifier . field_identifier))) ;) (expression_statement "uVar8 = local_378->rows;" (assignment_expression "uVar8 = local_378->rows" identifier = (field_expression "local_378->rows" identifier -> field_identifier)) ;) (if_statement "if ((uVar8 == 0) || (uVar29 == 0)) {\nLAB_0026963a:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x192;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "((uVar8 == 0) || (uVar29 == 0))" ( (binary_expression "(uVar8 == 0) || (uVar29 == 0)" (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar29 == 0)" ( (binary_expression "uVar29 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_0026963a:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x192;\n        goto LAB_00269ff0;\n      }" { (labeled_statement "LAB_0026963a:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" statement_identifier : (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) }))) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x192;" (assignment_expression "sVar14 = 0x192" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar27 = uVar29 * uVar8;" (assignment_expression "uVar27 = uVar29 * uVar8" identifier = (binary_expression "uVar29 * uVar8" identifier * identifier)) ;) (if_statement "if (uVar29 != uVar27 / uVar8) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_0026963a;\n      }" if (parenthesized_expression "(uVar29 != uVar27 / uVar8)" ( (binary_expression "uVar29 != uVar27 / uVar8" identifier != (binary_expression "uVar27 / uVar8" identifier / identifier)) )) (compound_statement "{\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_0026963a;\n      }" { (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar13 = 0xc;" (assignment_expression "*piVar13 = 0xc" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (goto_statement "goto LAB_0026963a;" goto statement_identifier ;) })) (expression_statement "uVar8 = (uint)pcx_info.planes;" (assignment_expression "uVar8 = (uint)pcx_info.planes" identifier = (cast_expression "(uint)pcx_info.planes" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.planes" identifier . field_identifier))) ;) (if_statement "if ((uVar27 == 0) || (uVar8 == 0)) {\nLAB_002696ee:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x194;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "((uVar27 == 0) || (uVar8 == 0))" ( (binary_expression "(uVar27 == 0) || (uVar8 == 0)" (parenthesized_expression "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_002696ee:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x194;\n        goto LAB_00269ff0;\n      }" { (labeled_statement "LAB_002696ee:\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" statement_identifier : (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) }))) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x194;" (assignment_expression "sVar14 = 0x194" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar29 = uVar8 * uVar27;" (assignment_expression "uVar29 = uVar8 * uVar27" identifier = (binary_expression "uVar8 * uVar27" identifier * identifier)) ;) (if_statement "if (uVar8 != uVar29 / uVar27) {\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_002696ee;\n      }" if (parenthesized_expression "(uVar8 != uVar29 / uVar27)" ( (binary_expression "uVar8 != uVar29 / uVar27" identifier != (binary_expression "uVar29 / uVar27" identifier / identifier)) )) (compound_statement "{\n        piVar13 = __errno_location();\n        *piVar13 = 0xc;\n        goto LAB_002696ee;\n      }" { (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar13 = 0xc;" (assignment_expression "*piVar13 = 0xc" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (goto_statement "goto LAB_002696ee;" goto statement_identifier ;) })) (expression_statement "uVar8 = pcx_info.bits_per_pixel * uVar8 * local_378->columns;" (assignment_expression "uVar8 = pcx_info.bits_per_pixel * uVar8 * local_378->columns" identifier = (binary_expression "pcx_info.bits_per_pixel * uVar8 * local_378->columns" (binary_expression "pcx_info.bits_per_pixel * uVar8" (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier) * identifier) * (field_expression "local_378->columns" identifier -> field_identifier))) ;) (if_statement "if (uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x196;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0)" ( (binary_expression "uVar29 * 8 <= uVar8 && uVar8 + uVar29 * -8 != 0" (binary_expression "uVar29 * 8 <= uVar8" (binary_expression "uVar29 * 8" identifier * number_literal) <= identifier) && (binary_expression "uVar8 + uVar29 * -8 != 0" (binary_expression "uVar8 + uVar29 * -8" identifier + (binary_expression "uVar29 * -8" identifier * number_literal)) != number_literal)) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x196;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x196;" (assignment_expression "sVar14 = 0x196" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "MVar36 = GetBlobSize(local_378);" (assignment_expression "MVar36 = GetBlobSize(local_378)" identifier = (call_expression "GetBlobSize(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if ((MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80)) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x198;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "((MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80))" ( (binary_expression "(MVar36 < 0x100000000) && ((uint)MVar36 < (uVar29 >> 5) + 0x80)" (parenthesized_expression "(MVar36 < 0x100000000)" ( (binary_expression "MVar36 < 0x100000000" identifier < number_literal) )) && (parenthesized_expression "((uint)MVar36 < (uVar29 >> 5) + 0x80)" ( (binary_expression "(uint)MVar36 < (uVar29 >> 5) + 0x80" (cast_expression "(uint)MVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "(uVar29 >> 5) + 0x80" (parenthesized_expression "(uVar29 >> 5)" ( (binary_expression "uVar29 >> 5" identifier >> number_literal) )) + number_literal)) ))) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x198;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x198;" (assignment_expression "sVar14 = 0x198" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "sVar14 = (size_t)pcx_info.planes;" (assignment_expression "sVar14 = (size_t)pcx_info.planes" identifier = (cast_expression "(size_t)pcx_info.planes" ( (type_descriptor "size_t" primitive_type) ) (field_expression "pcx_info.planes" identifier . field_identifier))) ;) (if_statement "if (pcx_info.planes < 8) {\n        sVar14 = 8;\n      }" if (parenthesized_expression "(pcx_info.planes < 8)" ( (binary_expression "pcx_info.planes < 8" (field_expression "pcx_info.planes" identifier . field_identifier) < number_literal) )) (compound_statement "{\n        sVar14 = 8;\n      }" { (expression_statement "sVar14 = 8;" (assignment_expression "sVar14 = 8" identifier = number_literal) ;) })) (expression_statement "uVar8 = (uint)pcx_info.bytes_per_line;" (assignment_expression "uVar8 = (uint)pcx_info.bytes_per_line" identifier = (cast_expression "(uint)pcx_info.bytes_per_line" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bytes_per_line" identifier . field_identifier))) ;) (if_statement "if ((uint)pcx_info.bytes_per_line < local_378->columns) {\n        uVar8 = local_378->columns;\n      }" if (parenthesized_expression "((uint)pcx_info.bytes_per_line < local_378->columns)" ( (binary_expression "(uint)pcx_info.bytes_per_line < local_378->columns" (cast_expression "(uint)pcx_info.bytes_per_line" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bytes_per_line" identifier . field_identifier)) < (field_expression "local_378->columns" identifier -> field_identifier)) )) (compound_statement "{\n        uVar8 = local_378->columns;\n      }" { (expression_statement "uVar8 = local_378->columns;" (assignment_expression "uVar8 = local_378->columns" identifier = (field_expression "local_378->columns" identifier -> field_identifier)) ;) })) (expression_statement "pbVar15 = (byte *)AcquireQuantumMemory(uVar8,sVar14);" (assignment_expression "pbVar15 = (byte *)AcquireQuantumMemory(uVar8,sVar14)" identifier = (cast_expression "(byte *)AcquireQuantumMemory(uVar8,sVar14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(uVar8,sVar14)" identifier (argument_list "(uVar8,sVar14)" ( identifier , identifier ))))) ;) (expression_statement "memory_info = AcquireVirtualMemory(uVar29,2);" (assignment_expression "memory_info = AcquireVirtualMemory(uVar29,2)" identifier = (call_expression "AcquireVirtualMemory(uVar29,2)" identifier (argument_list "(uVar29,2)" ( identifier , number_literal )))) ;) (if_statement "if ((pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0)) {\n        if (pbVar15 == (byte *)0x0) {\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x1a3;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "((pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0))" ( (binary_expression "(pbVar15 == (byte *)0x0) || (memory_info == (MemoryInfo *)0x0)" (parenthesized_expression "(pbVar15 == (byte *)0x0)" ( (binary_expression "pbVar15 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(memory_info == (MemoryInfo *)0x0)" ( (binary_expression "memory_info == (MemoryInfo *)0x0" identifier == (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        if (pbVar15 == (byte *)0x0) {\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar38 = "MemoryAllocationFailed";\n        EVar37 = ErrorException;\n        sVar14 = 0x1a3;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (pbVar15 == (byte *)0x0) {\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" if (parenthesized_expression "(pbVar15 == (byte *)0x0)" ( (binary_expression "pbVar15 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }\n        }" { (if_statement "if (memory_info != (MemoryInfo *)0x0) {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }" if (parenthesized_expression "(memory_info != (MemoryInfo *)0x0)" ( (binary_expression "memory_info != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_358 = RelinquishVirtualMemory(memory_info);\n            goto LAB_0026ab65;\n          }" { (expression_statement "local_358 = RelinquishVirtualMemory(memory_info);" (assignment_expression "local_358 = RelinquishVirtualMemory(memory_info)" identifier = (call_expression "RelinquishVirtualMemory(memory_info)" identifier (argument_list "(memory_info)" ( identifier )))) ;) (goto_statement "goto LAB_0026ab65;" goto statement_identifier ;) })) }) (else_clause "else {\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" else (compound_statement "{\n          memory = RelinquishMagickMemory(pbVar15);\n          if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(memory);\nLAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" { (expression_statement "memory = RelinquishMagickMemory(pbVar15);" (assignment_expression "memory = RelinquishMagickMemory(pbVar15)" identifier = (call_expression "RelinquishMagickMemory(pbVar15)" identifier (argument_list "(pbVar15)" ( identifier )))) ;) (if_statement "if (memory_info == (MemoryInfo *)0x0) {\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }" if (parenthesized_expression "(memory_info == (MemoryInfo *)0x0)" ( (binary_expression "memory_info == (MemoryInfo *)0x0" identifier == (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_358 = (MemoryInfo *)0x0;\n            if (memory == (void *)0x0) goto LAB_0026ab7d;\n          }" { (expression_statement "local_358 = (MemoryInfo *)0x0;" (assignment_expression "local_358 = (MemoryInfo *)0x0" identifier = (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (memory == (void *)0x0) goto LAB_0026ab7d;" if (parenthesized_expression "(memory == (void *)0x0)" ( (binary_expression "memory == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0026ab7d;" goto statement_identifier ;)) }) (else_clause "else {\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }" else (compound_statement "{\n            local_358 = RelinquishVirtualMemory(memory_info);\n            if (memory == (void *)0x0) goto LAB_0026ab65;\n          }" { (expression_statement "local_358 = RelinquishVirtualMemory(memory_info);" (assignment_expression "local_358 = RelinquishVirtualMemory(memory_info)" identifier = (call_expression "RelinquishVirtualMemory(memory_info)" identifier (argument_list "(memory_info)" ( identifier )))) ;) (if_statement "if (memory == (void *)0x0) goto LAB_0026ab65;" if (parenthesized_expression "(memory == (void *)0x0)" ( (binary_expression "memory == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0026ab65;" goto statement_identifier ;)) }))) (expression_statement "RelinquishMagickMemory(memory);" (call_expression "RelinquishMagickMemory(memory)" identifier (argument_list "(memory)" ( identifier ))) ;) (labeled_statement "LAB_0026ab65:\n          if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }" statement_identifier : (if_statement "if (local_358 != (MemoryInfo *)0x0) {\n            RelinquishVirtualMemory(local_358);\n          }" if (parenthesized_expression "(local_358 != (MemoryInfo *)0x0)" ( (binary_expression "local_358 != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            RelinquishVirtualMemory(local_358);\n          }" { (expression_statement "RelinquishVirtualMemory(local_358);" (call_expression "RelinquishVirtualMemory(local_358)" identifier (argument_list "(local_358)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_0026ab7d:\n        if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" statement_identifier : (if_statement "if (local_360 != (uint *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) }))) (expression_statement "pcVar38 = "MemoryAllocationFailed";" (assignment_expression "pcVar38 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "EVar37 = ErrorException;" (assignment_expression "EVar37 = ErrorException" identifier = identifier) ;) (expression_statement "sVar14 = 0x1a3;" (assignment_expression "sVar14 = 0x1a3" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar8 = local_378->columns;" (assignment_expression "uVar8 = local_378->columns" identifier = (field_expression "local_378->columns" identifier -> field_identifier)) ;) (if_statement "if (local_378->columns <= (uint)pcx_info.bytes_per_line) {\n        uVar8 = (uint)pcx_info.bytes_per_line;\n      }" if (parenthesized_expression "(local_378->columns <= (uint)pcx_info.bytes_per_line)" ( (binary_expression "local_378->columns <= (uint)pcx_info.bytes_per_line" (field_expression "local_378->columns" identifier -> field_identifier) <= (cast_expression "(uint)pcx_info.bytes_per_line" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bytes_per_line" identifier . field_identifier))) )) (compound_statement "{\n        uVar8 = (uint)pcx_info.bytes_per_line;\n      }" { (expression_statement "uVar8 = (uint)pcx_info.bytes_per_line;" (assignment_expression "uVar8 = (uint)pcx_info.bytes_per_line" identifier = (cast_expression "(uint)pcx_info.bytes_per_line" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bytes_per_line" identifier . field_identifier))) ;) })) (expression_statement "uVar27 = (uint)pcx_info.planes;" (assignment_expression "uVar27 = (uint)pcx_info.planes" identifier = (cast_expression "(uint)pcx_info.planes" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.planes" identifier . field_identifier))) ;) (if_statement "if (pcx_info.planes < 8) {\n        uVar27 = 8;\n      }" if (parenthesized_expression "(pcx_info.planes < 8)" ( (binary_expression "pcx_info.planes < 8" (field_expression "pcx_info.planes" identifier . field_identifier) < number_literal) )) (compound_statement "{\n        uVar27 = 8;\n      }" { (expression_statement "uVar27 = 8;" (assignment_expression "uVar27 = 8" identifier = number_literal) ;) })) (expression_statement "memset(pbVar15,0,uVar8 * uVar27);" (call_expression "memset(pbVar15,0,uVar8 * uVar27)" identifier (argument_list "(pbVar15,0,uVar8 * uVar27)" ( identifier , number_literal , (binary_expression "uVar8 * uVar27" identifier * identifier) ))) ;) (expression_statement "__s = (undefined1 *)GetVirtualMemoryBlob(memory_info);" (assignment_expression "__s = (undefined1 *)GetVirtualMemoryBlob(memory_info)" identifier = (cast_expression "(undefined1 *)GetVirtualMemoryBlob(memory_info)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(memory_info)" identifier (argument_list "(memory_info)" ( identifier ))))) ;) (expression_statement "memset(__s,0,uVar29 * 2);" (call_expression "memset(__s,0,uVar29 * 2)" identifier (argument_list "(__s,0,uVar29 * 2)" ( identifier , number_literal , (binary_expression "uVar29 * 2" identifier * number_literal) ))) ;) (expression_statement "puVar30 = __s;" (assignment_expression "puVar30 = __s" identifier = identifier) ;) (if_statement "if (pcx_info.encoding == '\0') {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }\n      }\n      else {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }\n      }" if (parenthesized_expression "(pcx_info.encoding == '\0')" ( (binary_expression "pcx_info.encoding == '\0'" (field_expression "pcx_info.encoding" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }\n      }" { (for_statement "for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }" for ( ; (binary_expression "uVar29 != 0" identifier != number_literal) ; (assignment_expression "uVar29 = uVar29 - 1" identifier = (binary_expression "uVar29 - 1" identifier - number_literal)) ) (compound_statement "{\n          iVar7 = ReadBlobByte(local_378);\n          iVar16 = EOFBlob(local_378);\n          if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          local_370._0_1_ = (undefined1)iVar7;\n          *puVar30 = (undefined1)local_370;\n          puVar30 = puVar30 + 1;\n        }" { (expression_statement "iVar7 = ReadBlobByte(local_378);" (assignment_expression "iVar7 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar16 = EOFBlob(local_378);" (assignment_expression "iVar16 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar16 != 0) {\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n            RelinquishMagickMemory(pbVar15);\n            RelinquishVirtualMemory(memory_info);\n            if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar38 = "UnexpectedEndOfFile";\n            EVar37 = CorruptImageError;\n            sVar14 = 0x1b2;\n            goto LAB_00269ff0;\n          }" { (expression_statement "RelinquishMagickMemory(pbVar15);" (call_expression "RelinquishMagickMemory(pbVar15)" identifier (argument_list "(pbVar15)" ( identifier ))) ;) (expression_statement "RelinquishVirtualMemory(memory_info);" (call_expression "RelinquishVirtualMemory(memory_info)" identifier (argument_list "(memory_info)" ( identifier ))) ;) (if_statement "if (local_360 != (uint *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              RelinquishMagickMemory(local_360);\n            }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "UnexpectedEndOfFile";" (assignment_expression "pcVar38 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x1b2;" (assignment_expression "sVar14 = 0x1b2" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "local_370._0_1_ = (undefined1)iVar7;" (assignment_expression "local_370._0_1_ = (undefined1)iVar7" (field_expression "local_370._0_1_" identifier . field_identifier) = (cast_expression "(undefined1)iVar7" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*puVar30 = (undefined1)local_370;" (assignment_expression "*puVar30 = (undefined1)local_370" (pointer_expression "*puVar30" * identifier) = (cast_expression "(undefined1)local_370" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "puVar30 = puVar30 + 1;" (assignment_expression "puVar30 = puVar30 + 1" identifier = (binary_expression "puVar30 + 1" identifier + number_literal)) ;) })) }) (else_clause "else {\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }\n      }" else (compound_statement "{\n        for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }\n      }" { (for_statement "for (; uVar29 != 0; uVar29 = uVar29 - 1) {\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }" for ( ; (binary_expression "uVar29 != 0" identifier != number_literal) ; (assignment_expression "uVar29 = uVar29 - 1" identifier = (binary_expression "uVar29 - 1" identifier - number_literal)) ) (compound_statement "{\n          while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar30 = (char)uVar8;\n          puVar30 = puVar30 + 1;\n        }" { (while_statement "while( true ) {\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar8 = ReadBlobByte(local_378);\n            iVar7 = EOFBlob(local_378);\n            if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0xc0) != 0xc0) break;\n            iVar7 = ReadBlobByte(local_378);\n            iVar16 = EOFBlob(local_378);\n            if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }\n          }" { (expression_statement "uVar8 = ReadBlobByte(local_378);" (assignment_expression "uVar8 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar7 = EOFBlob(local_378);" (assignment_expression "iVar7 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1bb;\n              goto LAB_00269ff0;\n            }" { (expression_statement "RelinquishMagickMemory(pbVar15);" (call_expression "RelinquishMagickMemory(pbVar15)" identifier (argument_list "(pbVar15)" ( identifier ))) ;) (expression_statement "RelinquishVirtualMemory(memory_info);" (call_expression "RelinquishVirtualMemory(memory_info)" identifier (argument_list "(memory_info)" ( identifier ))) ;) (if_statement "if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                RelinquishMagickMemory(local_360);\n              }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "UnexpectedEndOfFile";" (assignment_expression "pcVar38 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x1bb;" (assignment_expression "sVar14 = 0x1bb" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((uVar8 & 0xc0) != 0xc0) break;" if (parenthesized_expression "((uVar8 & 0xc0) != 0xc0)" ( (binary_expression "(uVar8 & 0xc0) != 0xc0" (parenthesized_expression "(uVar8 & 0xc0)" ( (binary_expression "uVar8 & 0xc0" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = ReadBlobByte(local_378);" (assignment_expression "iVar7 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar16 = EOFBlob(local_378);" (assignment_expression "iVar16 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar16 != 0) {\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n              RelinquishMagickMemory(pbVar15);\n              RelinquishVirtualMemory(memory_info);\n              if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar38 = "UnexpectedEndOfFile";\n              EVar37 = CorruptImageError;\n              sVar14 = 0x1c5;\n              goto LAB_00269ff0;\n            }" { (expression_statement "RelinquishMagickMemory(pbVar15);" (call_expression "RelinquishMagickMemory(pbVar15)" identifier (argument_list "(pbVar15)" ( identifier ))) ;) (expression_statement "RelinquishVirtualMemory(memory_info);" (call_expression "RelinquishVirtualMemory(memory_info)" identifier (argument_list "(memory_info)" ( identifier ))) ;) (if_statement "if (local_360 != (uint *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                RelinquishMagickMemory(local_360);\n              }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "UnexpectedEndOfFile";" (assignment_expression "pcVar38 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x1c5;" (assignment_expression "sVar14 = 0x1c5" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((uVar8 & 0x3f) != 0) {\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }" if (parenthesized_expression "((uVar8 & 0x3f) != 0)" ( (binary_expression "(uVar8 & 0x3f) != 0" (parenthesized_expression "(uVar8 & 0x3f)" ( (binary_expression "uVar8 & 0x3f" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar29 = uVar29 - 1;\n              *puVar30 = (char)iVar7;\n              if (uVar29 == 0) goto LAB_00269a7c;\n              puVar23 = puVar30 + (uVar8 & 0x3f);\n              puVar17 = puVar30;\n              while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }\n            }" { (expression_statement "uVar29 = uVar29 - 1;" (assignment_expression "uVar29 = uVar29 - 1" identifier = (binary_expression "uVar29 - 1" identifier - number_literal)) ;) (expression_statement "*puVar30 = (char)iVar7;" (assignment_expression "*puVar30 = (char)iVar7" (pointer_expression "*puVar30" * identifier) = (cast_expression "(char)iVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (uVar29 == 0) goto LAB_00269a7c;" if (parenthesized_expression "(uVar29 == 0)" ( (binary_expression "uVar29 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00269a7c;" goto statement_identifier ;)) (expression_statement "puVar23 = puVar30 + (uVar8 & 0x3f);" (assignment_expression "puVar23 = puVar30 + (uVar8 & 0x3f)" identifier = (binary_expression "puVar30 + (uVar8 & 0x3f)" identifier + (parenthesized_expression "(uVar8 & 0x3f)" ( (binary_expression "uVar8 & 0x3f" identifier & number_literal) )))) ;) (expression_statement "puVar17 = puVar30;" (assignment_expression "puVar17 = puVar30" identifier = identifier) ;) (while_statement "while (puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17) {\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }" while (parenthesized_expression "(puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17)" ( (comma_expression "puVar17 = puVar17 + 1, puVar30 = puVar23, puVar23 != puVar17" (assignment_expression "puVar17 = puVar17 + 1" identifier = (binary_expression "puVar17 + 1" identifier + number_literal)) , (comma_expression "puVar30 = puVar23, puVar23 != puVar17" (assignment_expression "puVar30 = puVar23" identifier = identifier) , (binary_expression "puVar23 != puVar17" identifier != identifier))) )) (compound_statement "{\n                uVar29 = uVar29 - 1;\n                *puVar17 = (char)iVar7;\n                if (uVar29 == 0) goto LAB_00269a7c;\n              }" { (expression_statement "uVar29 = uVar29 - 1;" (assignment_expression "uVar29 = uVar29 - 1" identifier = (binary_expression "uVar29 - 1" identifier - number_literal)) ;) (expression_statement "*puVar17 = (char)iVar7;" (assignment_expression "*puVar17 = (char)iVar7" (pointer_expression "*puVar17" * identifier) = (cast_expression "(char)iVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (uVar29 == 0) goto LAB_00269a7c;" if (parenthesized_expression "(uVar29 == 0)" ( (binary_expression "uVar29 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00269a7c;" goto statement_identifier ;)) })) })) })) (expression_statement "*puVar30 = (char)uVar8;" (assignment_expression "*puVar30 = (char)uVar8" (pointer_expression "*puVar30" * identifier) = (cast_expression "(char)uVar8" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "puVar30 = puVar30 + 1;" (assignment_expression "puVar30 = puVar30 + 1" identifier = (binary_expression "puVar30 + 1" identifier + number_literal)) ;) })) }))) (labeled_statement "LAB_00269a7c:\n      if (local_378->storage_class == DirectClass) {\n        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;\n      }\n      else if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }" statement_identifier : (if_statement "if (local_378->storage_class == DirectClass) {\n        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;\n      }\n      else if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }" if (parenthesized_expression "(local_378->storage_class == DirectClass)" ( (binary_expression "local_378->storage_class == DirectClass" (field_expression "local_378->storage_class" identifier -> field_identifier) == identifier) )) (compound_statement "{\n        local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;\n      }" { (expression_statement "local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2;" (assignment_expression "local_378->alpha_trait = (uint)(3 < pcx_info.planes) << 2" (field_expression "local_378->alpha_trait" identifier -> field_identifier) = (binary_expression "(uint)(3 < pcx_info.planes) << 2" (call_expression "(uint)(3 < pcx_info.planes)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(3 < pcx_info.planes)" ( (binary_expression "3 < pcx_info.planes" number_literal < (field_expression "pcx_info.planes" identifier . field_identifier)) ))) << number_literal)) ;) }) (else_clause "else if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }" else (if_statement "if (pcx_info.version == '\x05') {\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }\n      else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }" if (parenthesized_expression "(pcx_info.version == '\x05')" ( (binary_expression "pcx_info.version == '\x05'" (field_expression "pcx_info.version" identifier . field_identifier) == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;\n        if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }\n      }" { (if_statement "if (0x100 < local_378->colors) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }" if (parenthesized_expression "(0x100 < local_378->colors)" ( (binary_expression "0x100 < local_378->colors" number_literal < (field_expression "local_378->colors" identifier -> field_identifier)) )) (compound_statement "{\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);\n          RelinquishVirtualMemory(memory_info);\n          if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar38 = "ColormapExceeds256Colors";\n          EVar37 = CorruptImageError;\n          sVar14 = 0x1d9;\n          goto LAB_00269ff0;\n        }" { (labeled_statement "LAB_0026aaa4:\n          RelinquishMagickMemory(pbVar15);" statement_identifier : (expression_statement "RelinquishMagickMemory(pbVar15);" (call_expression "RelinquishMagickMemory(pbVar15)" identifier (argument_list "(pbVar15)" ( identifier ))) ;)) (expression_statement "RelinquishVirtualMemory(memory_info);" (call_expression "RelinquishVirtualMemory(memory_info)" identifier (argument_list "(memory_info)" ( identifier ))) ;) (if_statement "if (local_360 != (uint *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }" if (parenthesized_expression "(local_360 != (uint *)0x0)" ( (binary_expression "local_360 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            RelinquishMagickMemory(local_360);\n          }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar38 = "ColormapExceeds256Colors";" (assignment_expression "pcVar38 = "ColormapExceeds256Colors"" identifier = (string_literal ""ColormapExceeds256Colors"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x1d9;" (assignment_expression "sVar14 = 0x1d9" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) goto LAB_0026a31e;" if (parenthesized_expression "((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1)" ( (binary_expression "(uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1" (binary_expression "(uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes" (cast_expression "(uint)pcx_info.bits_per_pixel" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier)) * (cast_expression "(uint)pcx_info.planes" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.planes" identifier . field_identifier))) == number_literal) )) (goto_statement "goto LAB_0026a31e;" goto statement_identifier ;)) (if_statement "if (0x10 < local_378->colors) {\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }" if (parenthesized_expression "(0x10 < local_378->colors)" ( (binary_expression "0x10 < local_378->colors" number_literal < (field_expression "local_378->colors" identifier -> field_identifier)) )) (compound_statement "{\n          iVar7 = ReadBlobByte(local_378);\n          pcx_info.colormap_signature = (uchar)iVar7;\n          ReadBlob(local_378,local_378->colors * 3,pcx_colormap);\n          fVar6 = DAT_002e814c;\n          sVar14 = local_378->colors;\n          if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }\n        }" { (expression_statement "iVar7 = ReadBlobByte(local_378);" (assignment_expression "iVar7 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "pcx_info.colormap_signature = (uchar)iVar7;" (assignment_expression "pcx_info.colormap_signature = (uchar)iVar7" (field_expression "pcx_info.colormap_signature" identifier . field_identifier) = (cast_expression "(uchar)iVar7" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (expression_statement "ReadBlob(local_378,local_378->colors * 3,pcx_colormap);" (call_expression "ReadBlob(local_378,local_378->colors * 3,pcx_colormap)" identifier (argument_list "(local_378,local_378->colors * 3,pcx_colormap)" ( identifier , (binary_expression "local_378->colors * 3" (field_expression "local_378->colors" identifier -> field_identifier) * number_literal) , identifier ))) ;) (expression_statement "fVar6 = DAT_002e814c;" (assignment_expression "fVar6 = DAT_002e814c" identifier = identifier) ;) (expression_statement "sVar14 = local_378->colors;" (assignment_expression "sVar14 = local_378->colors" identifier = (field_expression "local_378->colors" identifier -> field_identifier)) ;) (if_statement "if (0 < (int)sVar14) {\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }" if (parenthesized_expression "(0 < (int)sVar14)" ( (binary_expression "0 < (int)sVar14" number_literal < (cast_expression "(int)sVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pMVar21 = &local_378->colormap->red;\n            pbVar12 = pcx_colormap;\n            do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);\n          }" { (expression_statement "pMVar21 = &local_378->colormap->red;" (assignment_expression "pMVar21 = &local_378->colormap->red" identifier = (pointer_expression "&local_378->colormap->red" & (field_expression "local_378->colormap->red" (field_expression "local_378->colormap" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "pbVar12 = pcx_colormap;" (assignment_expression "pbVar12 = pcx_colormap" identifier = identifier) ;) (do_statement "do {\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            } while (pbVar20 != pcx_colormap + sVar14 * 3);" do (compound_statement "{\n              pbVar20 = pbVar12 + 3;\n              *pMVar21 = (double)((float)*pbVar12 * fVar6);\n              pMVar21[1] = (double)((float)pbVar12[1] * fVar6);\n              pMVar21[2] = (double)((float)pbVar12[2] * fVar6);\n              pMVar21 = pMVar21 + 10;\n              pbVar12 = pbVar20;\n            }" { (expression_statement "pbVar20 = pbVar12 + 3;" (assignment_expression "pbVar20 = pbVar12 + 3" identifier = (binary_expression "pbVar12 + 3" identifier + number_literal)) ;) (expression_statement "*pMVar21 = (double)((float)*pbVar12 * fVar6);" (assignment_expression "*pMVar21 = (double)((float)*pbVar12 * fVar6)" (pointer_expression "*pMVar21" * identifier) = (cast_expression "(double)((float)*pbVar12 * fVar6)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*pbVar12 * fVar6)" ( (binary_expression "(float)*pbVar12 * fVar6" (cast_expression "(float)*pbVar12" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*pbVar12" * identifier)) * identifier) )))) ;) (expression_statement "pMVar21[1] = (double)((float)pbVar12[1] * fVar6);" (assignment_expression "pMVar21[1] = (double)((float)pbVar12[1] * fVar6)" (subscript_expression "pMVar21[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar12[1] * fVar6)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar12[1] * fVar6)" ( (binary_expression "(float)pbVar12[1] * fVar6" (cast_expression "(float)pbVar12[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar12[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pMVar21[2] = (double)((float)pbVar12[2] * fVar6);" (assignment_expression "pMVar21[2] = (double)((float)pbVar12[2] * fVar6)" (subscript_expression "pMVar21[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar12[2] * fVar6)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar12[2] * fVar6)" ( (binary_expression "(float)pbVar12[2] * fVar6" (cast_expression "(float)pbVar12[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar12[2]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pMVar21 = pMVar21 + 10;" (assignment_expression "pMVar21 = pMVar21 + 10" identifier = (binary_expression "pMVar21 + 10" identifier + number_literal)) ;) (expression_statement "pbVar12 = pbVar20;" (assignment_expression "pbVar12 = pbVar20" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar20 != pcx_colormap + sVar14 * 3)" ( (binary_expression "pbVar20 != pcx_colormap + sVar14 * 3" identifier != (binary_expression "pcx_colormap + sVar14 * 3" identifier + (binary_expression "sVar14 * 3" identifier * number_literal))) )) ;) })) })) }) (else_clause "else if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }" else (if_statement "if ((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1) {\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }" if (parenthesized_expression "((uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1)" ( (binary_expression "(uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes == 1" (binary_expression "(uint)pcx_info.bits_per_pixel * (uint)pcx_info.planes" (cast_expression "(uint)pcx_info.bits_per_pixel" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier)) * (cast_expression "(uint)pcx_info.planes" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.planes" identifier . field_identifier))) == number_literal) )) (compound_statement "{\n        if (0x100 < local_378->colors) goto LAB_0026aaa4;\nLAB_0026a31e:\n        pPVar4 = local_378->colormap;\n        pPVar4->red = 0.0;\n        pPVar4->green = 0.0;\n        pPVar4->blue = 0.0;\n        fVar6 = DAT_002df8a8;\n        pPVar4[1].red = (double)DAT_002df8a8;\n        pPVar4[1].green = (double)fVar6;\n        pPVar4[1].blue = (double)fVar6;\n      }" { (if_statement "if (0x100 < local_378->colors) goto LAB_0026aaa4;" if (parenthesized_expression "(0x100 < local_378->colors)" ( (binary_expression "0x100 < local_378->colors" number_literal < (field_expression "local_378->colors" identifier -> field_identifier)) )) (goto_statement "goto LAB_0026aaa4;" goto statement_identifier ;)) (labeled_statement "LAB_0026a31e:\n        pPVar4 = local_378->colormap;" statement_identifier : (expression_statement "pPVar4 = local_378->colormap;" (assignment_expression "pPVar4 = local_378->colormap" identifier = (field_expression "local_378->colormap" identifier -> field_identifier)) ;)) (expression_statement "pPVar4->red = 0.0;" (assignment_expression "pPVar4->red = 0.0" (field_expression "pPVar4->red" identifier -> field_identifier) = number_literal) ;) (expression_statement "pPVar4->green = 0.0;" (assignment_expression "pPVar4->green = 0.0" (field_expression "pPVar4->green" identifier -> field_identifier) = number_literal) ;) (expression_statement "pPVar4->blue = 0.0;" (assignment_expression "pPVar4->blue = 0.0" (field_expression "pPVar4->blue" identifier -> field_identifier) = number_literal) ;) (expression_statement "fVar6 = DAT_002df8a8;" (assignment_expression "fVar6 = DAT_002df8a8" identifier = identifier) ;) (expression_statement "pPVar4[1].red = (double)DAT_002df8a8;" (assignment_expression "pPVar4[1].red = (double)DAT_002df8a8" (field_expression "pPVar4[1].red" (subscript_expression "pPVar4[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pPVar4[1].green = (double)fVar6;" (assignment_expression "pPVar4[1].green = (double)fVar6" (field_expression "pPVar4[1].green" (subscript_expression "pPVar4[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(double)fVar6" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pPVar4[1].blue = (double)fVar6;" (assignment_expression "pPVar4[1].blue = (double)fVar6" (field_expression "pPVar4[1].blue" (subscript_expression "pPVar4[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(double)fVar6" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))))))) (expression_statement "local_364 = (void *)0x0;" (assignment_expression "local_364 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_34c = 0;" (assignment_expression "local_34c = 0" identifier = number_literal) ;) (expression_statement "local_348 = 0;" (assignment_expression "local_348 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)local_378->rows) {\n        do {\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        } while ((int)local_364 < (int)uVar8);\n      }" if (parenthesized_expression "(0 < (int)local_378->rows)" ( (binary_expression "0 < (int)local_378->rows" number_literal < (cast_expression "(int)local_378->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "local_378->rows" identifier -> field_identifier))) )) (compound_statement "{\n        do {\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        } while ((int)local_364 < (int)uVar8);\n      }" { (do_statement "do {\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        } while ((int)local_364 < (int)uVar8);" do (compound_statement "{\n          pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;\n          pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);\n          if (pQVar18 == (Quantum *)0x0) break;\n          uVar8 = (uint)pcx_info.planes;\n          if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }\n          fVar6 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }\nLAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);\n          if (MVar11 == MagickFalse) break;\n          uVar8 = local_378->rows;\n          if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }\n          local_364 = (void *)((int)local_364 + 1);\n          bVar33 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar33;\n        }" { (expression_statement "pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes;" (assignment_expression "pbVar12 = __s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes" identifier = (binary_expression "__s + (uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes" identifier + (binary_expression "(uint)pcx_info.bytes_per_line * (int)local_364 * (uint)pcx_info.planes" (binary_expression "(uint)pcx_info.bytes_per_line * (int)local_364" (cast_expression "(uint)pcx_info.bytes_per_line" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bytes_per_line" identifier . field_identifier)) * (cast_expression "(int)local_364" ( (type_descriptor "int" primitive_type) ) identifier)) * (cast_expression "(uint)pcx_info.planes" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.planes" identifier . field_identifier))))) ;) (expression_statement "pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception);" (assignment_expression "pQVar18 = QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception)" identifier = (call_expression "QueueAuthenticPixels\n                              (local_378,0,(ssize_t)local_364,local_378->columns,1,exception)" identifier (argument_list "(local_378,0,(ssize_t)local_364,local_378->columns,1,exception)" ( identifier , number_literal , (cast_expression "(ssize_t)local_364" ( (type_descriptor "ssize_t" primitive_type) ) identifier) , (field_expression "local_378->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar18 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar18 == (Quantum *)0x0)" ( (binary_expression "pQVar18 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar8 = (uint)pcx_info.planes;" (assignment_expression "uVar8 = (uint)pcx_info.planes" identifier = (cast_expression "(uint)pcx_info.planes" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.planes" identifier . field_identifier))) ;) (if_statement "if (local_378->storage_class == DirectClass) {\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }\n          else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }" if (parenthesized_expression "(local_378->storage_class == DirectClass)" ( (binary_expression "local_378->storage_class == DirectClass" (field_expression "local_378->storage_class" identifier -> field_identifier) == identifier) )) (compound_statement "{\n            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }\nLAB_00269be4:\n            local_370 = local_378->columns;\n          }" { (if_statement "if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }" if (parenthesized_expression "((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0))" ( (binary_expression "(pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)" (parenthesized_expression "(pcx_info.planes != '\0')" ( (binary_expression "pcx_info.planes != '\0'" (field_expression "pcx_info.planes" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(pcx_info.bytes_per_line != 0)" ( (binary_expression "pcx_info.bytes_per_line != 0" (field_expression "pcx_info.bytes_per_line" identifier . field_identifier) != number_literal) ))) )) (compound_statement "{\n              pbVar20 = pbVar15;\n              do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);\n            }" { (expression_statement "pbVar20 = pbVar15;" (assignment_expression "pbVar20 = pbVar15" identifier = identifier) ;) (do_statement "do {\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              } while (pbVar20 != pbVar15 + uVar8);" do (compound_statement "{\n                pbVar28 = pbVar12 + pcx_info.bytes_per_line;\n                pbVar24 = pbVar20;\n                do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);\n                pbVar20 = pbVar20 + 1;\n                pbVar12 = pbVar28;\n              }" { (expression_statement "pbVar28 = pbVar12 + pcx_info.bytes_per_line;" (assignment_expression "pbVar28 = pbVar12 + pcx_info.bytes_per_line" identifier = (binary_expression "pbVar12 + pcx_info.bytes_per_line" identifier + (field_expression "pcx_info.bytes_per_line" identifier . field_identifier))) ;) (expression_statement "pbVar24 = pbVar20;" (assignment_expression "pbVar24 = pbVar20" identifier = identifier) ;) (do_statement "do {\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                } while (pbVar28 != pbVar12);" do (compound_statement "{\n                  bVar22 = *pbVar12;\n                  pbVar12 = pbVar12 + 1;\n                  *pbVar24 = bVar22;\n                  pbVar24 = pbVar24 + uVar8;\n                }" { (expression_statement "bVar22 = *pbVar12;" (assignment_expression "bVar22 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar24 = bVar22;" (assignment_expression "*pbVar24 = bVar22" (pointer_expression "*pbVar24" * identifier) = identifier) ;) (expression_statement "pbVar24 = pbVar24 + uVar8;" (assignment_expression "pbVar24 = pbVar24 + uVar8" identifier = (binary_expression "pbVar24 + uVar8" identifier + identifier)) ;) }) while (parenthesized_expression "(pbVar28 != pbVar12)" ( (binary_expression "pbVar28 != pbVar12" identifier != identifier) )) ;) (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (expression_statement "pbVar12 = pbVar28;" (assignment_expression "pbVar12 = pbVar28" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar20 != pbVar15 + uVar8)" ( (binary_expression "pbVar20 != pbVar15 + uVar8" identifier != (binary_expression "pbVar15 + uVar8" identifier + identifier)) )) ;) })) (labeled_statement "LAB_00269be4:\n            local_370 = local_378->columns;" statement_identifier : (expression_statement "local_370 = local_378->columns;" (assignment_expression "local_370 = local_378->columns" identifier = (field_expression "local_378->columns" identifier -> field_identifier)) ;)) }) (else_clause "else {\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }" else (compound_statement "{\n            local_370 = local_378->columns;\n            if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }\n            if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }\n          }" { (expression_statement "local_370 = local_378->columns;" (assignment_expression "local_370 = local_378->columns" identifier = (field_expression "local_378->columns" identifier -> field_identifier)) ;) (if_statement "if (1 < pcx_info.planes) {\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }" if (parenthesized_expression "(1 < pcx_info.planes)" ( (binary_expression "1 < pcx_info.planes" number_literal < (field_expression "pcx_info.planes" identifier . field_identifier)) )) (compound_statement "{\n              if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }\n              uVar29 = (uint)pcx_info.bytes_per_line;\n              if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }\n              goto LAB_00269be4;\n            }" { (if_statement "if (0 < (int)local_370) {\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }" if (parenthesized_expression "(0 < (int)local_370)" ( (binary_expression "0 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                iVar7 = 0;\n                do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);\n              }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                } while (iVar7 < (int)local_378->columns);" do (compound_statement "{\n                  pbVar15[iVar7] = 0;\n                  iVar7 = iVar7 + 1;\n                }" { (expression_statement "pbVar15[iVar7] = 0;" (assignment_expression "pbVar15[iVar7] = 0" (subscript_expression "pbVar15[iVar7]" identifier [ identifier ]) = number_literal) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < (int)local_378->columns)" ( (binary_expression "iVar7 < (int)local_378->columns" identifier < (cast_expression "(int)local_378->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "local_378->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "uVar29 = (uint)pcx_info.bytes_per_line;" (assignment_expression "uVar29 = (uint)pcx_info.bytes_per_line" identifier = (cast_expression "(uint)pcx_info.bytes_per_line" ( (type_descriptor "uint" type_identifier) ) (field_expression "pcx_info.bytes_per_line" identifier . field_identifier))) ;) (if_statement "if (uVar29 != 0) {\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }" if (parenthesized_expression "(uVar29 != 0)" ( (binary_expression "uVar29 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar27 = 0;\n                do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);\n              }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                } while (uVar27 != uVar8);" do (compound_statement "{\n                  uVar19 = 0;\n                  do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);\n                  pbVar12 = pbVar12 + uVar29;\n                  uVar27 = uVar27 + 1;\n                }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  } while (uVar19 != uVar29);" do (compound_statement "{\n                    bVar22 = pbVar12[uVar19];\n                    bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));\n                    if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }\n                    if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }\n                    if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }\n                    if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }\n                    if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }\n                    if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }\n                    if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }\n                    if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }\n                    uVar19 = uVar19 + 1;\n                  }" { (expression_statement "bVar22 = pbVar12[uVar19];" (assignment_expression "bVar22 = pbVar12[uVar19]" identifier = (subscript_expression "pbVar12[uVar19]" identifier [ identifier ])) ;) (expression_statement "bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f));" (assignment_expression "bVar26 = (byte)(1 << ((byte)uVar27 & 0x1f))" identifier = (call_expression "(byte)(1 << ((byte)uVar27 & 0x1f))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(1 << ((byte)uVar27 & 0x1f))" ( (binary_expression "1 << ((byte)uVar27 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar27 & 0x1f)" ( (binary_expression "(byte)uVar27 & 0x1f" (cast_expression "(byte)uVar27" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (if_statement "if ((char)bVar22 < '\0') {\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }" if (parenthesized_expression "((char)bVar22 < '\0')" ( (binary_expression "(char)bVar22 < '\0'" (cast_expression "(char)bVar22" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;\n                    }" { (expression_statement "pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26;" (assignment_expression "pbVar15[uVar19 * 8] = pbVar15[uVar19 * 8] | bVar26" (subscript_expression "pbVar15[uVar19 * 8]" identifier [ (binary_expression "uVar19 * 8" identifier * number_literal) ]) = (binary_expression "pbVar15[uVar19 * 8] | bVar26" (subscript_expression "pbVar15[uVar19 * 8]" identifier [ (binary_expression "uVar19 * 8" identifier * number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar22 & 0x40) != 0) {\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }" if (parenthesized_expression "((bVar22 & 0x40) != 0)" ( (binary_expression "(bVar22 & 0x40) != 0" (parenthesized_expression "(bVar22 & 0x40)" ( (binary_expression "bVar22 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;\n                    }" { (expression_statement "pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26;" (assignment_expression "pbVar15[uVar19 * 8 + 1] = pbVar15[uVar19 * 8 + 1] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 1]" identifier [ (binary_expression "uVar19 * 8 + 1" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar15[uVar19 * 8 + 1] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 1]" identifier [ (binary_expression "uVar19 * 8 + 1" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar22 & 0x20) != 0) {\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }" if (parenthesized_expression "((bVar22 & 0x20) != 0)" ( (binary_expression "(bVar22 & 0x20) != 0" (parenthesized_expression "(bVar22 & 0x20)" ( (binary_expression "bVar22 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;\n                    }" { (expression_statement "pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26;" (assignment_expression "pbVar15[uVar19 * 8 + 2] = pbVar15[uVar19 * 8 + 2] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 2]" identifier [ (binary_expression "uVar19 * 8 + 2" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar15[uVar19 * 8 + 2] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 2]" identifier [ (binary_expression "uVar19 * 8 + 2" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar22 & 0x10) != 0) {\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }" if (parenthesized_expression "((bVar22 & 0x10) != 0)" ( (binary_expression "(bVar22 & 0x10) != 0" (parenthesized_expression "(bVar22 & 0x10)" ( (binary_expression "bVar22 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;\n                    }" { (expression_statement "pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26;" (assignment_expression "pbVar15[uVar19 * 8 + 3] = pbVar15[uVar19 * 8 + 3] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 3]" identifier [ (binary_expression "uVar19 * 8 + 3" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar15[uVar19 * 8 + 3] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 3]" identifier [ (binary_expression "uVar19 * 8 + 3" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar22 & 8) != 0) {\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }" if (parenthesized_expression "((bVar22 & 8) != 0)" ( (binary_expression "(bVar22 & 8) != 0" (parenthesized_expression "(bVar22 & 8)" ( (binary_expression "bVar22 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;\n                    }" { (expression_statement "pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26;" (assignment_expression "pbVar15[uVar19 * 8 + 4] = pbVar15[uVar19 * 8 + 4] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 4]" identifier [ (binary_expression "uVar19 * 8 + 4" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar15[uVar19 * 8 + 4] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 4]" identifier [ (binary_expression "uVar19 * 8 + 4" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar22 & 4) != 0) {\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }" if (parenthesized_expression "((bVar22 & 4) != 0)" ( (binary_expression "(bVar22 & 4) != 0" (parenthesized_expression "(bVar22 & 4)" ( (binary_expression "bVar22 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;\n                    }" { (expression_statement "pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26;" (assignment_expression "pbVar15[uVar19 * 8 + 5] = pbVar15[uVar19 * 8 + 5] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 5]" identifier [ (binary_expression "uVar19 * 8 + 5" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar15[uVar19 * 8 + 5] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 5]" identifier [ (binary_expression "uVar19 * 8 + 5" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar22 & 2) != 0) {\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }" if (parenthesized_expression "((bVar22 & 2) != 0)" ( (binary_expression "(bVar22 & 2) != 0" (parenthesized_expression "(bVar22 & 2)" ( (binary_expression "bVar22 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;\n                    }" { (expression_statement "pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26;" (assignment_expression "pbVar15[uVar19 * 8 + 6] = pbVar15[uVar19 * 8 + 6] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 6]" identifier [ (binary_expression "uVar19 * 8 + 6" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar15[uVar19 * 8 + 6] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 6]" identifier [ (binary_expression "uVar19 * 8 + 6" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar22 & 1) != 0) {\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }" if (parenthesized_expression "((bVar22 & 1) != 0)" ( (binary_expression "(bVar22 & 1) != 0" (parenthesized_expression "(bVar22 & 1)" ( (binary_expression "bVar22 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;\n                    }" { (expression_statement "pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26;" (assignment_expression "pbVar15[uVar19 * 8 + 7] = pbVar15[uVar19 * 8 + 7] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 7]" identifier [ (binary_expression "uVar19 * 8 + 7" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar15[uVar19 * 8 + 7] | bVar26" (subscript_expression "pbVar15[uVar19 * 8 + 7]" identifier [ (binary_expression "uVar19 * 8 + 7" (binary_expression "uVar19 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar19 != uVar29)" ( (binary_expression "uVar19 != uVar29" identifier != identifier) )) ;) (expression_statement "pbVar12 = pbVar12 + uVar29;" (assignment_expression "pbVar12 = pbVar12 + uVar29" identifier = (binary_expression "pbVar12 + uVar29" identifier + identifier)) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar27 != uVar8)" ( (binary_expression "uVar27 != uVar8" identifier != identifier) )) ;) })) (goto_statement "goto LAB_00269be4;" goto statement_identifier ;) })) (if_statement "if (pcx_info.bits_per_pixel == '\x02') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }\n            else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }" if (parenthesized_expression "(pcx_info.bits_per_pixel == '\x02')" ( (binary_expression "pcx_info.bits_per_pixel == '\x02'" (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }\n            }" { (expression_statement "pbVar20 = pbVar15;" (assignment_expression "pbVar20 = pbVar15" identifier = identifier) ;) (expression_statement "pbVar28 = pbVar15;" (assignment_expression "pbVar28 = pbVar15" identifier = identifier) ;) (expression_statement "pbVar24 = pbVar12;" (assignment_expression "pbVar24 = pbVar12" identifier = identifier) ;) (if_statement "if (3 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }" if (parenthesized_expression "(3 < (int)local_370)" ( (binary_expression "3 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));\n              }" { (do_statement "do {\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3));" do (compound_statement "{\n                  pbVar20 = pbVar28 + 4;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 6;\n                  pbVar28[1] = *pbVar24 >> 4 & 3;\n                  pbVar28[2] = *pbVar24 >> 2 & 3;\n                  pbVar28[3] = *pbVar24 & 3;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                }" { (expression_statement "pbVar20 = pbVar28 + 4;" (assignment_expression "pbVar20 = pbVar28 + 4" identifier = (binary_expression "pbVar28 + 4" identifier + number_literal)) ;) (expression_statement "pbVar12 = pbVar24 + 1;" (assignment_expression "pbVar12 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar28 = *pbVar24 >> 6;" (assignment_expression "*pbVar28 = *pbVar24 >> 6" (pointer_expression "*pbVar28" * identifier) = (binary_expression "*pbVar24 >> 6" (pointer_expression "*pbVar24" * identifier) >> number_literal)) ;) (expression_statement "pbVar28[1] = *pbVar24 >> 4 & 3;" (assignment_expression "pbVar28[1] = *pbVar24 >> 4 & 3" (subscript_expression "pbVar28[1]" identifier [ number_literal ]) = (binary_expression "*pbVar24 >> 4 & 3" (binary_expression "*pbVar24 >> 4" (pointer_expression "*pbVar24" * identifier) >> number_literal) & number_literal)) ;) (expression_statement "pbVar28[2] = *pbVar24 >> 2 & 3;" (assignment_expression "pbVar28[2] = *pbVar24 >> 2 & 3" (subscript_expression "pbVar28[2]" identifier [ number_literal ]) = (binary_expression "*pbVar24 >> 2 & 3" (binary_expression "*pbVar24 >> 2" (pointer_expression "*pbVar24" * identifier) >> number_literal) & number_literal)) ;) (expression_statement "pbVar28[3] = *pbVar24 & 3;" (assignment_expression "pbVar28[3] = *pbVar24 & 3" (subscript_expression "pbVar28[3]" identifier [ number_literal ]) = (binary_expression "*pbVar24 & 3" (pointer_expression "*pbVar24" * identifier) & number_literal)) ;) (expression_statement "local_370 = local_378->columns;" (assignment_expression "local_370 = local_378->columns" identifier = (field_expression "local_378->columns" identifier -> field_identifier)) ;) (expression_statement "pbVar28 = pbVar20;" (assignment_expression "pbVar28 = pbVar20" identifier = identifier) ;) (expression_statement "pbVar24 = pbVar12;" (assignment_expression "pbVar24 = pbVar12" identifier = identifier) ;) }) while (parenthesized_expression "((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3))" ( (binary_expression "(int)pbVar20 - (int)pbVar15 < (int)(local_370 - 3)" (binary_expression "(int)pbVar20 - (int)pbVar15" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)(local_370 - 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_370 - 3)" ( (binary_expression "local_370 - 3" identifier - number_literal) )))) )) ;) })) (if_statement "if ((local_370 & 3) != 0) {\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }" if (parenthesized_expression "((local_370 & 3) != 0)" ( (binary_expression "(local_370 & 3) != 0" (parenthesized_expression "(local_370 & 3)" ( (binary_expression "local_370 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                iVar7 = 3;\n                do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);\n              }" { (expression_statement "iVar7 = 3;" (assignment_expression "iVar7 = 3" identifier = number_literal) ;) (do_statement "do {\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar7);" do (compound_statement "{\n                  cVar5 = (char)iVar7;\n                  iVar7 = iVar7 + -1;\n                  *pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378->columns;\n                  pbVar20 = pbVar20 + 1;\n                }" { (expression_statement "cVar5 = (char)iVar7;" (assignment_expression "cVar5 = (char)iVar7" identifier = (cast_expression "(char)iVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3;" (assignment_expression "*pbVar20 = (byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3" (pointer_expression "*pbVar20" * identifier) = (binary_expression "(byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)) & 3" (call_expression "(byte)((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU))" ( (binary_expression "(int)(uint)*pbVar12 >> (cVar5 * '\x02' & 0x1fU)" (binary_expression "(int)(uint)*pbVar12" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> (parenthesized_expression "(cVar5 * '\x02' & 0x1fU)" ( (binary_expression "cVar5 * '\x02' & 0x1fU" (binary_expression "cVar5 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) & number_literal) ))) ))) & number_literal)) ;) (expression_statement "local_370 = local_378->columns;" (assignment_expression "local_370 = local_378->columns" identifier = (field_expression "local_378->columns" identifier -> field_identifier)) ;) (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)(4 - (local_370 & 3)) <= iVar7)" ( (binary_expression "(int)(4 - (local_370 & 3)) <= iVar7" (cast_expression "(int)(4 - (local_370 & 3))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(4 - (local_370 & 3))" ( (binary_expression "4 - (local_370 & 3)" number_literal - (parenthesized_expression "(local_370 & 3)" ( (binary_expression "local_370 & 3" identifier & number_literal) ))) ))) <= identifier) )) ;) })) }) (else_clause "else if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }" else (if_statement "if (pcx_info.bits_per_pixel < 3) {\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }" if (parenthesized_expression "(pcx_info.bits_per_pixel < 3)" ( (binary_expression "pcx_info.bits_per_pixel < 3" (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier) < number_literal) )) (compound_statement "{\n              if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }\n            }" { (if_statement "if (pcx_info.bits_per_pixel == '\x01') {\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }" if (parenthesized_expression "(pcx_info.bits_per_pixel == '\x01')" ( (binary_expression "pcx_info.bits_per_pixel == '\x01'" (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                pbVar20 = pbVar15;\n                pbVar28 = pbVar15;\n                pbVar24 = pbVar12;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }\n              }" { (expression_statement "pbVar20 = pbVar15;" (assignment_expression "pbVar20 = pbVar15" identifier = identifier) ;) (expression_statement "pbVar28 = pbVar15;" (assignment_expression "pbVar28 = pbVar15" identifier = identifier) ;) (expression_statement "pbVar24 = pbVar12;" (assignment_expression "pbVar24 = pbVar12" identifier = identifier) ;) (if_statement "if (7 < (int)local_370) {\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }" if (parenthesized_expression "(7 < (int)local_370)" ( (binary_expression "7 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));\n                }" { (do_statement "do {\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7));" do (compound_statement "{\n                    pbVar20 = pbVar28 + 8;\n                    pbVar12 = pbVar24 + 1;\n                    *pbVar28 = *pbVar24 >> 7 ^ 1;\n                    pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;\n                    pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;\n                    pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;\n                    pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;\n                    pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;\n                    pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;\n                    pbVar28[7] = ~*pbVar24 & 1;\n                    local_370 = local_378->columns;\n                    pbVar28 = pbVar20;\n                    pbVar24 = pbVar12;\n                  }" { (expression_statement "pbVar20 = pbVar28 + 8;" (assignment_expression "pbVar20 = pbVar28 + 8" identifier = (binary_expression "pbVar28 + 8" identifier + number_literal)) ;) (expression_statement "pbVar12 = pbVar24 + 1;" (assignment_expression "pbVar12 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar28 = *pbVar24 >> 7 ^ 1;" (assignment_expression "*pbVar28 = *pbVar24 >> 7 ^ 1" (pointer_expression "*pbVar28" * identifier) = (binary_expression "*pbVar24 >> 7 ^ 1" (binary_expression "*pbVar24 >> 7" (pointer_expression "*pbVar24" * identifier) >> number_literal) ^ number_literal)) ;) (expression_statement "pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1;" (assignment_expression "pbVar28[1] = ~(byte)((int)(uint)*pbVar24 >> 6) & 1" (subscript_expression "pbVar28[1]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar24 >> 6) & 1" (unary_expression "~(byte)((int)(uint)*pbVar24 >> 6)" ~ (call_expression "(byte)((int)(uint)*pbVar24 >> 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar24 >> 6)" ( (binary_expression "(int)(uint)*pbVar24 >> 6" (binary_expression "(int)(uint)*pbVar24" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1;" (assignment_expression "pbVar28[2] = ~(byte)((int)(uint)*pbVar24 >> 5) & 1" (subscript_expression "pbVar28[2]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar24 >> 5) & 1" (unary_expression "~(byte)((int)(uint)*pbVar24 >> 5)" ~ (call_expression "(byte)((int)(uint)*pbVar24 >> 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar24 >> 5)" ( (binary_expression "(int)(uint)*pbVar24 >> 5" (binary_expression "(int)(uint)*pbVar24" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1;" (assignment_expression "pbVar28[3] = ~(byte)((int)(uint)*pbVar24 >> 4) & 1" (subscript_expression "pbVar28[3]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar24 >> 4) & 1" (unary_expression "~(byte)((int)(uint)*pbVar24 >> 4)" ~ (call_expression "(byte)((int)(uint)*pbVar24 >> 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar24 >> 4)" ( (binary_expression "(int)(uint)*pbVar24 >> 4" (binary_expression "(int)(uint)*pbVar24" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1;" (assignment_expression "pbVar28[4] = ~(byte)((int)(uint)*pbVar24 >> 3) & 1" (subscript_expression "pbVar28[4]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar24 >> 3) & 1" (unary_expression "~(byte)((int)(uint)*pbVar24 >> 3)" ~ (call_expression "(byte)((int)(uint)*pbVar24 >> 3)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar24 >> 3)" ( (binary_expression "(int)(uint)*pbVar24 >> 3" (binary_expression "(int)(uint)*pbVar24" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1;" (assignment_expression "pbVar28[5] = ~(byte)((int)(uint)*pbVar24 >> 2) & 1" (subscript_expression "pbVar28[5]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar24 >> 2) & 1" (unary_expression "~(byte)((int)(uint)*pbVar24 >> 2)" ~ (call_expression "(byte)((int)(uint)*pbVar24 >> 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar24 >> 2)" ( (binary_expression "(int)(uint)*pbVar24 >> 2" (binary_expression "(int)(uint)*pbVar24" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1;" (assignment_expression "pbVar28[6] = ~(byte)((int)(uint)*pbVar24 >> 1) & 1" (subscript_expression "pbVar28[6]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar24 >> 1) & 1" (unary_expression "~(byte)((int)(uint)*pbVar24 >> 1)" ~ (call_expression "(byte)((int)(uint)*pbVar24 >> 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar24 >> 1)" ( (binary_expression "(int)(uint)*pbVar24 >> 1" (binary_expression "(int)(uint)*pbVar24" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar28[7] = ~*pbVar24 & 1;" (assignment_expression "pbVar28[7] = ~*pbVar24 & 1" (subscript_expression "pbVar28[7]" identifier [ number_literal ]) = (binary_expression "~*pbVar24 & 1" (unary_expression "~*pbVar24" ~ (pointer_expression "*pbVar24" * identifier)) & number_literal)) ;) (expression_statement "local_370 = local_378->columns;" (assignment_expression "local_370 = local_378->columns" identifier = (field_expression "local_378->columns" identifier -> field_identifier)) ;) (expression_statement "pbVar28 = pbVar20;" (assignment_expression "pbVar28 = pbVar20" identifier = identifier) ;) (expression_statement "pbVar24 = pbVar12;" (assignment_expression "pbVar24 = pbVar12" identifier = identifier) ;) }) while (parenthesized_expression "((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7))" ( (binary_expression "(int)pbVar20 - (int)pbVar15 < (int)(local_370 - 7)" (binary_expression "(int)pbVar20 - (int)pbVar15" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)(local_370 - 7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_370 - 7)" ( (binary_expression "local_370 - 7" identifier - number_literal) )))) )) ;) })) (if_statement "if ((local_370 & 7) != 0) {\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }" if (parenthesized_expression "((local_370 & 7) != 0)" ( (binary_expression "(local_370 & 7) != 0" (parenthesized_expression "(local_370 & 7)" ( (binary_expression "local_370 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  iVar7 = 7;\n                  do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);\n                }" { (expression_statement "iVar7 = 7;" (assignment_expression "iVar7 = 7" identifier = number_literal) ;) (do_statement "do {\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar7);" do (compound_statement "{\n                    bVar22 = (byte)iVar7;\n                    iVar7 = iVar7 + -1;\n                    *pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;\n                    local_370 = local_378->columns;\n                    pbVar20 = pbVar20 + 1;\n                  }" { (expression_statement "bVar22 = (byte)iVar7;" (assignment_expression "bVar22 = (byte)iVar7" identifier = (cast_expression "(byte)iVar7" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1;" (assignment_expression "*pbVar20 = ~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1" (pointer_expression "*pbVar20" * identifier) = (binary_expression "~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f)) & 1" (unary_expression "~(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f))" ~ (call_expression "(byte)((int)(uint)*pbVar12 >> (bVar22 & 0x1f))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar12 >> (bVar22 & 0x1f))" ( (binary_expression "(int)(uint)*pbVar12 >> (bVar22 & 0x1f)" (binary_expression "(int)(uint)*pbVar12" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> (parenthesized_expression "(bVar22 & 0x1f)" ( (binary_expression "bVar22 & 0x1f" identifier & number_literal) ))) )))) & number_literal)) ;) (expression_statement "local_370 = local_378->columns;" (assignment_expression "local_370 = local_378->columns" identifier = (field_expression "local_378->columns" identifier -> field_identifier)) ;) (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)(8 - (local_370 & 7)) <= iVar7)" ( (binary_expression "(int)(8 - (local_370 & 7)) <= iVar7" (cast_expression "(int)(8 - (local_370 & 7))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(8 - (local_370 & 7))" ( (binary_expression "8 - (local_370 & 7)" number_literal - (parenthesized_expression "(local_370 & 7)" ( (binary_expression "local_370 & 7" identifier & number_literal) ))) ))) <= identifier) )) ;) })) })) }) (else_clause "else if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }" else (if_statement "if (pcx_info.bits_per_pixel == '\x04') {\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }" if (parenthesized_expression "(pcx_info.bits_per_pixel == '\x04')" ( (binary_expression "pcx_info.bits_per_pixel == '\x04'" (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier) == (char_literal "'\x04'" ' escape_sequence ')) )) (compound_statement "{\n              pbVar20 = pbVar15;\n              pbVar28 = pbVar15;\n              pbVar24 = pbVar12;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }\n            }" { (expression_statement "pbVar20 = pbVar15;" (assignment_expression "pbVar20 = pbVar15" identifier = identifier) ;) (expression_statement "pbVar28 = pbVar15;" (assignment_expression "pbVar28 = pbVar15" identifier = identifier) ;) (expression_statement "pbVar24 = pbVar12;" (assignment_expression "pbVar24 = pbVar12" identifier = identifier) ;) (if_statement "if (1 < (int)local_370) {\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }" if (parenthesized_expression "(1 < (int)local_370)" ( (binary_expression "1 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));\n              }" { (do_statement "do {\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                } while ((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1));" do (compound_statement "{\n                  pbVar20 = pbVar28 + 2;\n                  pbVar12 = pbVar24 + 1;\n                  *pbVar28 = *pbVar24 >> 4;\n                  pbVar28[1] = *pbVar24 & 0xf;\n                  local_370 = local_378->columns;\n                  pbVar28 = pbVar20;\n                  pbVar24 = pbVar12;\n                }" { (expression_statement "pbVar20 = pbVar28 + 2;" (assignment_expression "pbVar20 = pbVar28 + 2" identifier = (binary_expression "pbVar28 + 2" identifier + number_literal)) ;) (expression_statement "pbVar12 = pbVar24 + 1;" (assignment_expression "pbVar12 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar28 = *pbVar24 >> 4;" (assignment_expression "*pbVar28 = *pbVar24 >> 4" (pointer_expression "*pbVar28" * identifier) = (binary_expression "*pbVar24 >> 4" (pointer_expression "*pbVar24" * identifier) >> number_literal)) ;) (expression_statement "pbVar28[1] = *pbVar24 & 0xf;" (assignment_expression "pbVar28[1] = *pbVar24 & 0xf" (subscript_expression "pbVar28[1]" identifier [ number_literal ]) = (binary_expression "*pbVar24 & 0xf" (pointer_expression "*pbVar24" * identifier) & number_literal)) ;) (expression_statement "local_370 = local_378->columns;" (assignment_expression "local_370 = local_378->columns" identifier = (field_expression "local_378->columns" identifier -> field_identifier)) ;) (expression_statement "pbVar28 = pbVar20;" (assignment_expression "pbVar28 = pbVar20" identifier = identifier) ;) (expression_statement "pbVar24 = pbVar12;" (assignment_expression "pbVar24 = pbVar12" identifier = identifier) ;) }) while (parenthesized_expression "((int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1))" ( (binary_expression "(int)pbVar20 - (int)pbVar15 < (int)(local_370 - 1)" (binary_expression "(int)pbVar20 - (int)pbVar15" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)(local_370 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_370 - 1)" ( (binary_expression "local_370 - 1" identifier - number_literal) )))) )) ;) })) (if_statement "if ((local_370 & 1) != 0) {\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }" if (parenthesized_expression "((local_370 & 1) != 0)" ( (binary_expression "(local_370 & 1) != 0" (parenthesized_expression "(local_370 & 1)" ( (binary_expression "local_370 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                *pbVar20 = *pbVar12 >> 4;\n                goto LAB_00269be4;\n              }" { (expression_statement "*pbVar20 = *pbVar12 >> 4;" (assignment_expression "*pbVar20 = *pbVar12 >> 4" (pointer_expression "*pbVar20" * identifier) = (binary_expression "*pbVar12 >> 4" (pointer_expression "*pbVar12" * identifier) >> number_literal)) ;) (goto_statement "goto LAB_00269be4;" goto statement_identifier ;) })) }) (else_clause "else if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }" else (if_statement "if (pcx_info.bits_per_pixel == '\b') {\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }" if (parenthesized_expression "(pcx_info.bits_per_pixel == '\b')" ( (binary_expression "pcx_info.bits_per_pixel == '\b'" (field_expression "pcx_info.bits_per_pixel" identifier . field_identifier) == (char_literal "'\b'" ' escape_sequence ')) )) (compound_statement "{\n              memcpy(pbVar15,pbVar12,local_370);\n              local_370 = local_378->columns;\n            }" { (expression_statement "memcpy(pbVar15,pbVar12,local_370);" (call_expression "memcpy(pbVar15,pbVar12,local_370)" identifier (argument_list "(pbVar15,pbVar12,local_370)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_370 = local_378->columns;" (assignment_expression "local_370 = local_378->columns" identifier = (field_expression "local_378->columns" identifier -> field_identifier)) ;) })))))))) }))) (expression_statement "fVar6 = DAT_002e814c;" (assignment_expression "fVar6 = DAT_002e814c" identifier = identifier) ;) (if_statement "if (0 < (int)local_370) {\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }" if (parenthesized_expression "(0 < (int)local_370)" ( (binary_expression "0 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            sVar25 = 0;\n            sVar14 = local_378->number_channels;\n            CVar2 = local_378->storage_class;\n            pPVar3 = local_378->channel_map;\n            pbVar12 = pbVar15;\n            do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);\n          }" { (expression_statement "sVar25 = 0;" (assignment_expression "sVar25 = 0" identifier = number_literal) ;) (expression_statement "sVar14 = local_378->number_channels;" (assignment_expression "sVar14 = local_378->number_channels" identifier = (field_expression "local_378->number_channels" identifier -> field_identifier)) ;) (expression_statement "CVar2 = local_378->storage_class;" (assignment_expression "CVar2 = local_378->storage_class" identifier = (field_expression "local_378->storage_class" identifier -> field_identifier)) ;) (expression_statement "pPVar3 = local_378->channel_map;" (assignment_expression "pPVar3 = local_378->channel_map" identifier = (field_expression "local_378->channel_map" identifier -> field_identifier)) ;) (expression_statement "pbVar12 = pbVar15;" (assignment_expression "pbVar12 = pbVar15" identifier = identifier) ;) (do_statement "do {\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            } while (sVar25 != local_370);" do (compound_statement "{\n              while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }\n              pbVar20 = pbVar12 + 1;\n              if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;\n              sVar25 = sVar25 + 1;\n              pQVar18[pPVar3[5].offset] = (double)*pbVar12;\n              pQVar18 = pQVar18 + sVar14;\n              pbVar12 = pbVar20;\n            }" { (while_statement "while( true ) {\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                if (CVar2 == PseudoClass) break;\n                pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);\n                pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);\n                pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);\n                if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }\nLAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;\n                sVar25 = sVar25 + 1;\n                pbVar12 = pbVar20;\n                if (sVar25 == local_370) goto LAB_00269cce;\n              }" { (if_statement "if (CVar2 == PseudoClass) break;" if (parenthesized_expression "(CVar2 == PseudoClass)" ( (binary_expression "CVar2 == PseudoClass" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6);" (assignment_expression "pQVar18[pPVar3->offset] = (double)((float)*pbVar12 * fVar6)" (subscript_expression "pQVar18[pPVar3->offset]" identifier [ (field_expression "pPVar3->offset" identifier -> field_identifier) ]) = (cast_expression "(double)((float)*pbVar12 * fVar6)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*pbVar12 * fVar6)" ( (binary_expression "(float)*pbVar12 * fVar6" (cast_expression "(float)*pbVar12" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*pbVar12" * identifier)) * identifier) )))) ;) (expression_statement "pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6);" (assignment_expression "pQVar18[pPVar3[1].offset] = (double)((float)pbVar12[1] * fVar6)" (subscript_expression "pQVar18[pPVar3[1].offset]" identifier [ (field_expression "pPVar3[1].offset" (subscript_expression "pPVar3[1]" identifier [ number_literal ]) . field_identifier) ]) = (cast_expression "(double)((float)pbVar12[1] * fVar6)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar12[1] * fVar6)" ( (binary_expression "(float)pbVar12[1] * fVar6" (cast_expression "(float)pbVar12[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar12[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6);" (assignment_expression "pQVar18[pPVar3[2].offset] = (double)((float)pbVar12[2] * fVar6)" (subscript_expression "pQVar18[pPVar3[2].offset]" identifier [ (field_expression "pPVar3[2].offset" (subscript_expression "pPVar3[2]" identifier [ number_literal ]) . field_identifier) ]) = (cast_expression "(double)((float)pbVar12[2] * fVar6)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar12[2] * fVar6)" ( (binary_expression "(float)pbVar12[2] * fVar6" (cast_expression "(float)pbVar12[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar12[2]" identifier [ number_literal ])) * identifier) )))) ;) (if_statement "if (local_378->alpha_trait == UndefinedPixelTrait) {\n                  pbVar20 = pbVar12 + 3;\n                }\n                else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }" if (parenthesized_expression "(local_378->alpha_trait == UndefinedPixelTrait)" ( (binary_expression "local_378->alpha_trait == UndefinedPixelTrait" (field_expression "local_378->alpha_trait" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                  pbVar20 = pbVar12 + 3;\n                }" { (expression_statement "pbVar20 = pbVar12 + 3;" (assignment_expression "pbVar20 = pbVar12 + 3" identifier = (binary_expression "pbVar12 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }" else (compound_statement "{\n                  pbVar20 = pbVar12 + 4;\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }\n                }" { (expression_statement "pbVar20 = pbVar12 + 4;" (assignment_expression "pbVar20 = pbVar12 + 4" identifier = (binary_expression "pbVar12 + 4" identifier + number_literal)) ;) (if_statement "if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }" if (parenthesized_expression "(pPVar3[4].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar3[4].traits != UndefinedPixelTrait" (field_expression "pPVar3[4].traits" (subscript_expression "pPVar3[4]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                    pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);\n                  }" { (expression_statement "pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6);" (assignment_expression "pQVar18[pPVar3[4].offset] = (double)((float)pbVar12[3] * fVar6)" (subscript_expression "pQVar18[pPVar3[4].offset]" identifier [ (field_expression "pPVar3[4].offset" (subscript_expression "pPVar3[4]" identifier [ number_literal ]) . field_identifier) ]) = (cast_expression "(double)((float)pbVar12[3] * fVar6)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar12[3] * fVar6)" ( (binary_expression "(float)pbVar12[3] * fVar6" (cast_expression "(float)pbVar12[3]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar12[3]" identifier [ number_literal ])) * identifier) )))) ;) })) }))) (labeled_statement "LAB_00269c86:\n                pQVar18 = pQVar18 + sVar14;" statement_identifier : (expression_statement "pQVar18 = pQVar18 + sVar14;" (assignment_expression "pQVar18 = pQVar18 + sVar14" identifier = (binary_expression "pQVar18 + sVar14" identifier + identifier)) ;)) (expression_statement "sVar25 = sVar25 + 1;" (assignment_expression "sVar25 = sVar25 + 1" identifier = (binary_expression "sVar25 + 1" identifier + number_literal)) ;) (expression_statement "pbVar12 = pbVar20;" (assignment_expression "pbVar12 = pbVar20" identifier = identifier) ;) (if_statement "if (sVar25 == local_370) goto LAB_00269cce;" if (parenthesized_expression "(sVar25 == local_370)" ( (binary_expression "sVar25 == local_370" identifier == identifier) )) (goto_statement "goto LAB_00269cce;" goto statement_identifier ;)) })) (expression_statement "pbVar20 = pbVar12 + 1;" (assignment_expression "pbVar20 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (if_statement "if (pPVar3[5].traits == UndefinedPixelTrait) goto LAB_00269c86;" if (parenthesized_expression "(pPVar3[5].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar3[5].traits == UndefinedPixelTrait" (field_expression "pPVar3[5].traits" (subscript_expression "pPVar3[5]" identifier [ number_literal ]) . field_identifier) == identifier) )) (goto_statement "goto LAB_00269c86;" goto statement_identifier ;)) (expression_statement "sVar25 = sVar25 + 1;" (assignment_expression "sVar25 = sVar25 + 1" identifier = (binary_expression "sVar25 + 1" identifier + number_literal)) ;) (expression_statement "pQVar18[pPVar3[5].offset] = (double)*pbVar12;" (assignment_expression "pQVar18[pPVar3[5].offset] = (double)*pbVar12" (subscript_expression "pQVar18[pPVar3[5].offset]" identifier [ (field_expression "pPVar3[5].offset" (subscript_expression "pPVar3[5]" identifier [ number_literal ]) . field_identifier) ]) = (cast_expression "(double)*pbVar12" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pQVar18 = pQVar18 + sVar14;" (assignment_expression "pQVar18 = pQVar18 + sVar14" identifier = (binary_expression "pQVar18 + sVar14" identifier + identifier)) ;) (expression_statement "pbVar12 = pbVar20;" (assignment_expression "pbVar12 = pbVar20" identifier = identifier) ;) }) while (parenthesized_expression "(sVar25 != local_370)" ( (binary_expression "sVar25 != local_370" identifier != identifier) )) ;) })) (labeled_statement "LAB_00269cce:\n          MVar11 = SyncAuthenticPixels(local_378,exception);" statement_identifier : (expression_statement "MVar11 = SyncAuthenticPixels(local_378,exception);" (assignment_expression "MVar11 = SyncAuthenticPixels(local_378,exception)" identifier = (call_expression "SyncAuthenticPixels(local_378,exception)" identifier (argument_list "(local_378,exception)" ( identifier , identifier )))) ;)) (if_statement "if (MVar11 == MagickFalse) break;" if (parenthesized_expression "(MVar11 == MagickFalse)" ( (binary_expression "MVar11 == MagickFalse" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar8 = local_378->rows;" (assignment_expression "uVar8 = local_378->rows" identifier = (field_expression "local_378->rows" identifier -> field_identifier)) ;) (if_statement "if (local_378->previous == (_Image *)0x0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }" if (parenthesized_expression "(local_378->previous == (_Image *)0x0)" ( (binary_expression "local_378->previous == (_Image *)0x0" (field_expression "local_378->previous" identifier -> field_identifier) == (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);\n            if (local_350 == MagickFalse) break;\n            uVar8 = local_378->rows;\n          }" { (expression_statement "local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8);" (assignment_expression "local_350 = SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8)" identifier = (call_expression "SetImageProgress(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8)" identifier (argument_list "(local_378,"Load/Image",CONCAT44(local_348,local_34c),\n                                         (ulonglong)uVar8)" ( identifier , (string_literal ""Load/Image"" " string_content ") , (call_expression "CONCAT44(local_348,local_34c)" identifier (argument_list "(local_348,local_34c)" ( identifier , identifier ))) , (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if (local_350 == MagickFalse) break;" if (parenthesized_expression "(local_350 == MagickFalse)" ( (binary_expression "local_350 == MagickFalse" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar8 = local_378->rows;" (assignment_expression "uVar8 = local_378->rows" identifier = (field_expression "local_378->rows" identifier -> field_identifier)) ;) })) (expression_statement "local_364 = (void *)((int)local_364 + 1);" (assignment_expression "local_364 = (void *)((int)local_364 + 1)" identifier = (cast_expression "(void *)((int)local_364 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_364 + 1)" ( (binary_expression "(int)local_364 + 1" (cast_expression "(int)local_364" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar33 = 0xfffffffe < local_34c;" (assignment_expression "bVar33 = 0xfffffffe < local_34c" identifier = (binary_expression "0xfffffffe < local_34c" number_literal < identifier)) ;) (expression_statement "local_34c = local_34c + 1;" (assignment_expression "local_34c = local_34c + 1" identifier = (binary_expression "local_34c + 1" identifier + number_literal)) ;) (expression_statement "local_348 = local_348 + (uint)bVar33;" (assignment_expression "local_348 = local_348 + (uint)bVar33" identifier = (binary_expression "local_348 + (uint)bVar33" identifier + (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "((int)local_364 < (int)uVar8)" ( (binary_expression "(int)local_364 < (int)uVar8" (cast_expression "(int)local_364" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (if_statement "if (local_378->storage_class == PseudoClass) {\n        SyncImage(local_378,exception);\n      }" if (parenthesized_expression "(local_378->storage_class == PseudoClass)" ( (binary_expression "local_378->storage_class == PseudoClass" (field_expression "local_378->storage_class" identifier -> field_identifier) == identifier) )) (compound_statement "{\n        SyncImage(local_378,exception);\n      }" { (expression_statement "SyncImage(local_378,exception);" (call_expression "SyncImage(local_378,exception)" identifier (argument_list "(local_378,exception)" ( identifier , identifier ))) ;) })) (expression_statement "local_364 = RelinquishMagickMemory(pbVar15);" (assignment_expression "local_364 = RelinquishMagickMemory(pbVar15)" identifier = (call_expression "RelinquishMagickMemory(pbVar15)" identifier (argument_list "(pbVar15)" ( identifier )))) ;) (expression_statement "local_36c = RelinquishVirtualMemory(memory_info);" (assignment_expression "local_36c = RelinquishVirtualMemory(memory_info)" identifier = (call_expression "RelinquishVirtualMemory(memory_info)" identifier (argument_list "(memory_info)" ( identifier )))) ;) (expression_statement "iVar7 = EOFBlob(local_378);" (assignment_expression "iVar7 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n        piVar13 = __errno_location();\n        pcVar38 = GetExceptionMessage(*piVar13);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar38);\nLAB_0026aa7e:\n        if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n        break;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar13 = __errno_location();\n        pcVar38 = GetExceptionMessage(*piVar13);\n        ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");\n        DestroyString(pcVar38);\nLAB_0026aa7e:\n        if (local_360 == (uint *)0x0) goto LAB_0026a58c;\n        break;\n      }" { (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar38 = GetExceptionMessage(*piVar13);" (assignment_expression "pcVar38 = GetExceptionMessage(*piVar13)" identifier = (call_expression "GetExceptionMessage(*piVar13)" identifier (argument_list "(*piVar13)" ( (pointer_expression "*piVar13" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s");" (call_expression "ThrowMagickException\n                  (exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s")" identifier (argument_list "(exception,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,\n                   "UnexpectedEndOfFile","\'%s\': %s")" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , number_literal , identifier , (string_literal ""UnexpectedEndOfFile"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") ))) ;) (expression_statement "DestroyString(pcVar38);" (call_expression "DestroyString(pcVar38)" identifier (argument_list "(pcVar38)" ( identifier ))) ;) (labeled_statement "LAB_0026aa7e:\n        if (local_360 == (uint *)0x0) goto LAB_0026a58c;" statement_identifier : (if_statement "if (local_360 == (uint *)0x0) goto LAB_0026a58c;" if (parenthesized_expression "(local_360 == (uint *)0x0)" ( (binary_expression "local_360 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0026a58c;" goto statement_identifier ;))) (break_statement "break;" break ;) })) (if_statement "if ((image_info->number_scenes != 0) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))\n      goto LAB_0026aa7e;" if (parenthesized_expression "((image_info->number_scenes != 0) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene))" ( (binary_expression "(image_info->number_scenes != 0) &&\n         ((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene)" (parenthesized_expression "(image_info->number_scenes != 0)" ( (binary_expression "image_info->number_scenes != 0" (field_expression "image_info->number_scenes" identifier -> field_identifier) != number_literal) )) && (parenthesized_expression "((image_info->number_scenes + image_info->scene) - 1 <= local_378->scene)" ( (binary_expression "(image_info->number_scenes + image_info->scene) - 1 <= local_378->scene" (binary_expression "(image_info->number_scenes + image_info->scene) - 1" (parenthesized_expression "(image_info->number_scenes + image_info->scene)" ( (binary_expression "image_info->number_scenes + image_info->scene" (field_expression "image_info->number_scenes" identifier -> field_identifier) + (field_expression "image_info->scene" identifier -> field_identifier)) )) - number_literal) <= (field_expression "local_378->scene" identifier -> field_identifier)) ))) )) (goto_statement "goto LAB_0026aa7e;" goto statement_identifier ;)) (if_statement "if (local_360 == (uint *)0x0) goto LAB_0026a58c;" if (parenthesized_expression "(local_360 == (uint *)0x0)" ( (binary_expression "local_360 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0026a58c;" goto statement_identifier ;)) (if_statement "if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;" if (parenthesized_expression "(local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0)" ( (binary_expression "local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0" (binary_expression "local_360[local_344 * 2 + 1] == 0" (subscript_expression "local_360[local_344 * 2 + 1]" identifier [ (binary_expression "local_344 * 2 + 1" (binary_expression "local_344 * 2" identifier * number_literal) + number_literal) ]) == number_literal) && (binary_expression "local_360[local_344 * 2] == 0" (subscript_expression "local_360[local_344 * 2]" identifier [ (binary_expression "local_344 * 2" identifier * number_literal) ]) == number_literal)) )) (break_statement "break;" break ;)) (expression_statement "MVar35 = SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)\n      ;" (assignment_expression "MVar35 = SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)" identifier = (call_expression "SeekBlob(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)" identifier (argument_list "(local_378,CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2]),0)" ( identifier , (call_expression "CONCAT44(local_360[local_344 * 2 + 1],local_360[local_344 * 2])" identifier (argument_list "(local_360[local_344 * 2 + 1],local_360[local_344 * 2])" ( (subscript_expression "local_360[local_344 * 2 + 1]" identifier [ (binary_expression "local_344 * 2 + 1" (binary_expression "local_344 * 2" identifier * number_literal) + number_literal) ]) , (subscript_expression "local_360[local_344 * 2]" identifier [ (binary_expression "local_344 * 2" identifier * number_literal) ]) ))) , number_literal )))) ;) (if_statement "if (MVar35 < 0) {\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x2a4;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(MVar35 < 0)" ( (binary_expression "MVar35 < 0" identifier < number_literal) )) (compound_statement "{\n        if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar38 = "ImproperImageHeader";\n        EVar37 = CorruptImageError;\n        sVar14 = 0x2a4;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != (void *)0x0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != (void *)0x0)" ( (binary_expression "local_364 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != (MemoryInfo *)0x0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != (MemoryInfo *)0x0)" ( (binary_expression "local_36c != (MemoryInfo *)0x0" identifier != (cast_expression "(MemoryInfo *)0x0" ( (type_descriptor "MemoryInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) (expression_statement "pcVar38 = "ImproperImageHeader";" (assignment_expression "pcVar38 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "EVar37 = CorruptImageError;" (assignment_expression "EVar37 = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar14 = 0x2a4;" (assignment_expression "sVar14 = 0x2a4" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "sVar10 = ReadBlob(local_378,1,&pcx_info);" (assignment_expression "sVar10 = ReadBlob(local_378,1,&pcx_info)" identifier = (call_expression "ReadBlob(local_378,1,&pcx_info)" identifier (argument_list "(local_378,1,&pcx_info)" ( identifier , number_literal , (pointer_expression "&pcx_info" & identifier) )))) ;) (if_statement "if ((sVar10 != 0) && (pcx_info.identifier == '\n')) {\n        AcquireNextImage(image_info,local_378,exception);\n        pIVar9 = GetNextImageInList(local_378);\n        if (pIVar9 == (Image *)0x0) {\n          local_350 = MagickFalse;\n          break;\n        }\n        local_378 = SyncNextImageInList(local_378);\n        MVar36 = GetBlobSize(local_378);\n        MVar35 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);\n        if (local_350 == MagickFalse) break;\n      }" if (parenthesized_expression "((sVar10 != 0) && (pcx_info.identifier == '\n'))" ( (binary_expression "(sVar10 != 0) && (pcx_info.identifier == '\n')" (parenthesized_expression "(sVar10 != 0)" ( (binary_expression "sVar10 != 0" identifier != number_literal) )) && (parenthesized_expression "(pcx_info.identifier == '\n')" ( (binary_expression "pcx_info.identifier == '\n'" (field_expression "pcx_info.identifier" identifier . field_identifier) == (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n        AcquireNextImage(image_info,local_378,exception);\n        pIVar9 = GetNextImageInList(local_378);\n        if (pIVar9 == (Image *)0x0) {\n          local_350 = MagickFalse;\n          break;\n        }\n        local_378 = SyncNextImageInList(local_378);\n        MVar36 = GetBlobSize(local_378);\n        MVar35 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);\n        if (local_350 == MagickFalse) break;\n      }" { (expression_statement "AcquireNextImage(image_info,local_378,exception);" (call_expression "AcquireNextImage(image_info,local_378,exception)" identifier (argument_list "(image_info,local_378,exception)" ( identifier , identifier , identifier ))) ;) (expression_statement "pIVar9 = GetNextImageInList(local_378);" (assignment_expression "pIVar9 = GetNextImageInList(local_378)" identifier = (call_expression "GetNextImageInList(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (pIVar9 == (Image *)0x0) {\n          local_350 = MagickFalse;\n          break;\n        }" if (parenthesized_expression "(pIVar9 == (Image *)0x0)" ( (binary_expression "pIVar9 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          local_350 = MagickFalse;\n          break;\n        }" { (expression_statement "local_350 = MagickFalse;" (assignment_expression "local_350 = MagickFalse" identifier = identifier) ;) (break_statement "break;" break ;) })) (expression_statement "local_378 = SyncNextImageInList(local_378);" (assignment_expression "local_378 = SyncNextImageInList(local_378)" identifier = (call_expression "SyncNextImageInList(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "MVar36 = GetBlobSize(local_378);" (assignment_expression "MVar36 = GetBlobSize(local_378)" identifier = (call_expression "GetBlobSize(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "MVar35 = TellBlob(local_378);" (assignment_expression "MVar35 = TellBlob(local_378)" identifier = (call_expression "TellBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36);" (assignment_expression "local_350 = SetImageProgress(local_378,"Load/Images",MVar35,MVar36)" identifier = (call_expression "SetImageProgress(local_378,"Load/Images",MVar35,MVar36)" identifier (argument_list "(local_378,"Load/Images",MVar35,MVar36)" ( identifier , (string_literal ""Load/Images"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (local_350 == MagickFalse) break;" if (parenthesized_expression "(local_350 == MagickFalse)" ( (binary_expression "local_350 == MagickFalse" identifier == identifier) )) (break_statement "break;" break ;)) })) (expression_statement "local_344 = local_344 + 1;" (assignment_expression "local_344 = local_344 + 1" identifier = (binary_expression "local_344 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_344 != 0x400)" ( (binary_expression "local_344 != 0x400" identifier != number_literal) )) ;) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) (labeled_statement "LAB_0026a58c:\n    CloseBlob(local_378);" statement_identifier : (expression_statement "CloseBlob(local_378);" (call_expression "CloseBlob(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;)) (if_statement "if (local_350 == MagickFalse) {\n      pIVar9 = DestroyImageList(local_378);\n    }\n    else {\n      pIVar9 = GetFirstImageInList(local_378);\n    }" if (parenthesized_expression "(local_350 == MagickFalse)" ( (binary_expression "local_350 == MagickFalse" identifier == identifier) )) (compound_statement "{\n      pIVar9 = DestroyImageList(local_378);\n    }" { (expression_statement "pIVar9 = DestroyImageList(local_378);" (assignment_expression "pIVar9 = DestroyImageList(local_378)" identifier = (call_expression "DestroyImageList(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) }) (else_clause "else {\n      pIVar9 = GetFirstImageInList(local_378);\n    }" else (compound_statement "{\n      pIVar9 = GetFirstImageInList(local_378);\n    }" { (expression_statement "pIVar9 = GetFirstImageInList(local_378);" (assignment_expression "pIVar9 = GetFirstImageInList(local_378)" identifier = (call_expression "GetFirstImageInList(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) }))) }))) (labeled_statement "LAB_002690c4:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return pIVar9;" return identifier ;) })))
(translation_unit "undefined4 FUN_00268f70(int param_1,undefined4 *param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  char cVar3;\n  float fVar4;\n  undefined1 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  byte *pbVar8;\n  int *piVar9;\n  byte *pbVar10;\n  undefined1 *__s;\n  undefined1 *puVar11;\n  int iVar12;\n  uint uVar13;\n  byte *pbVar14;\n  double *pdVar15;\n  byte bVar16;\n  uint uVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  int extraout_EDX;\n  size_t sVar20;\n  int extraout_EDX_00;\n  byte bVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined1 *puVar25;\n  int iVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  byte bVar28;\n  undefined8 uVar29;\n  undefined8 uVar30;\n  undefined4 uVar31;\n  char *pcVar32;\n  int *local_378;\n  size_t local_370;\n  int local_36c;\n  int local_364;\n  int *local_360;\n  int local_358;\n  int local_350;\n  uint local_34c;\n  int local_348;\n  int local_344;\n  char local_33c;\n  char local_33b;\n  char local_33a;\n  byte local_339;\n  ushort local_338;\n  ushort local_336;\n  ushort local_334;\n  ushort local_332;\n  ushort local_330;\n  ushort local_32e;\n  undefined1 local_32c;\n  byte local_32b;\n  ushort local_32a;\n  undefined2 local_328;\n  undefined2 local_326;\n  undefined2 local_324;\n  undefined1 local_322;\n  byte local_320 [768];\n  int local_20;\n  \n  bVar28 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }\n  local_378 = (int *)AcquireImage(param_1,param_2);\n  local_350 = OpenBlob(param_1,local_378,2,param_2);\n  if (local_350 == 0) {\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }\n  iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);\n  if (iVar6 == 0) {\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }\n  else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }\nLAB_002690c4:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }\n  return uVar7;\n}\n\n" (function_definition "undefined4 FUN_00268f70(int param_1,undefined4 *param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  char cVar3;\n  float fVar4;\n  undefined1 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  byte *pbVar8;\n  int *piVar9;\n  byte *pbVar10;\n  undefined1 *__s;\n  undefined1 *puVar11;\n  int iVar12;\n  uint uVar13;\n  byte *pbVar14;\n  double *pdVar15;\n  byte bVar16;\n  uint uVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  int extraout_EDX;\n  size_t sVar20;\n  int extraout_EDX_00;\n  byte bVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined1 *puVar25;\n  int iVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  byte bVar28;\n  undefined8 uVar29;\n  undefined8 uVar30;\n  undefined4 uVar31;\n  char *pcVar32;\n  int *local_378;\n  size_t local_370;\n  int local_36c;\n  int local_364;\n  int *local_360;\n  int local_358;\n  int local_350;\n  uint local_34c;\n  int local_348;\n  int local_344;\n  char local_33c;\n  char local_33b;\n  char local_33a;\n  byte local_339;\n  ushort local_338;\n  ushort local_336;\n  ushort local_334;\n  ushort local_332;\n  ushort local_330;\n  ushort local_32e;\n  undefined1 local_32c;\n  byte local_32b;\n  ushort local_32a;\n  undefined2 local_328;\n  undefined2 local_326;\n  undefined2 local_324;\n  undefined1 local_322;\n  byte local_320 [768];\n  int local_20;\n  \n  bVar28 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }\n  local_378 = (int *)AcquireImage(param_1,param_2);\n  local_350 = OpenBlob(param_1,local_378,2,param_2);\n  if (local_350 == 0) {\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }\n  iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);\n  if (iVar6 == 0) {\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }\n  else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }\nLAB_002690c4:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }\n  return uVar7;\n}" type_identifier (function_declarator "FUN_00268f70(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  char cVar3;\n  float fVar4;\n  undefined1 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  byte *pbVar8;\n  int *piVar9;\n  byte *pbVar10;\n  undefined1 *__s;\n  undefined1 *puVar11;\n  int iVar12;\n  uint uVar13;\n  byte *pbVar14;\n  double *pdVar15;\n  byte bVar16;\n  uint uVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  int extraout_EDX;\n  size_t sVar20;\n  int extraout_EDX_00;\n  byte bVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined1 *puVar25;\n  int iVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  byte bVar28;\n  undefined8 uVar29;\n  undefined8 uVar30;\n  undefined4 uVar31;\n  char *pcVar32;\n  int *local_378;\n  size_t local_370;\n  int local_36c;\n  int local_364;\n  int *local_360;\n  int local_358;\n  int local_350;\n  uint local_34c;\n  int local_348;\n  int local_344;\n  char local_33c;\n  char local_33b;\n  char local_33a;\n  byte local_339;\n  ushort local_338;\n  ushort local_336;\n  ushort local_334;\n  ushort local_332;\n  ushort local_330;\n  ushort local_32e;\n  undefined1 local_32c;\n  byte local_32b;\n  ushort local_32a;\n  undefined2 local_328;\n  undefined2 local_326;\n  undefined2 local_324;\n  undefined1 local_322;\n  byte local_320 [768];\n  int local_20;\n  \n  bVar28 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }\n  local_378 = (int *)AcquireImage(param_1,param_2);\n  local_350 = OpenBlob(param_1,local_378,2,param_2);\n  if (local_350 == 0) {\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }\n  iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);\n  if (iVar6 == 0) {\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }\n  else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }\nLAB_002690c4:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }\n  return uVar7;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "float fVar4;" primitive_type identifier ;) (declaration "undefined1 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "undefined1 *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "double *pdVar15;" primitive_type (pointer_declarator "*pdVar15" * identifier) ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "size_t sVar20;" primitive_type identifier ;) (declaration "int extraout_EDX_00;" primitive_type identifier ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "byte bVar28;" type_identifier identifier ;) (declaration "undefined8 uVar29;" type_identifier identifier ;) (declaration "undefined8 uVar30;" type_identifier identifier ;) (declaration "undefined4 uVar31;" type_identifier identifier ;) (declaration "char *pcVar32;" primitive_type (pointer_declarator "*pcVar32" * identifier) ;) (declaration "int *local_378;" primitive_type (pointer_declarator "*local_378" * identifier) ;) (declaration "size_t local_370;" primitive_type identifier ;) (declaration "int local_36c;" primitive_type identifier ;) (declaration "int local_364;" primitive_type identifier ;) (declaration "int *local_360;" primitive_type (pointer_declarator "*local_360" * identifier) ;) (declaration "int local_358;" primitive_type identifier ;) (declaration "int local_350;" primitive_type identifier ;) (declaration "uint local_34c;" type_identifier identifier ;) (declaration "int local_348;" primitive_type identifier ;) (declaration "int local_344;" primitive_type identifier ;) (declaration "char local_33c;" primitive_type identifier ;) (declaration "char local_33b;" primitive_type identifier ;) (declaration "char local_33a;" primitive_type identifier ;) (declaration "byte local_339;" type_identifier identifier ;) (declaration "ushort local_338;" type_identifier identifier ;) (declaration "ushort local_336;" type_identifier identifier ;) (declaration "ushort local_334;" type_identifier identifier ;) (declaration "ushort local_332;" type_identifier identifier ;) (declaration "ushort local_330;" type_identifier identifier ;) (declaration "ushort local_32e;" type_identifier identifier ;) (declaration "undefined1 local_32c;" type_identifier identifier ;) (declaration "byte local_32b;" type_identifier identifier ;) (declaration "ushort local_32a;" type_identifier identifier ;) (declaration "undefined2 local_328;" type_identifier identifier ;) (declaration "undefined2 local_326;" type_identifier identifier ;) (declaration "undefined2 local_324;" type_identifier identifier ;) (declaration "undefined1 local_322;" type_identifier identifier ;) (declaration "byte local_320 [768];" type_identifier (array_declarator "local_320 [768]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "bVar28 = 0;" (assignment_expression "bVar28 = 0" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\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/pcx.c",0x10b,"ReadPCXImage");\n  }" { (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f4) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x31f4) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x31f4)" * (cast_expression "(int *)(param_1 + 0x31f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f4)" ( (binary_expression "param_1 + 0x31f4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }" { (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 )" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 )" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f0) != 0)" ( (binary_expression "*(int *)(param_1 + 0x31f0) != 0" (pointer_expression "*(int *)(param_1 + 0x31f0)" * (cast_expression "(int *)(param_1 + 0x31f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f0)" ( (binary_expression "param_1 + 0x31f0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }" { (expression_statement "LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0)" identifier (argument_list "(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0)" ( number_literal , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002f75ae" & identifier) , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }" if (parenthesized_expression "(param_2 == (undefined4 *)0x0)" ( (binary_expression "param_2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }" { (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (if_statement "if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }" if (parenthesized_expression "(param_2[7] != -0x54535255)" ( (binary_expression "param_2[7] != -0x54535255" (subscript_expression "param_2[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }" { (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/pcx.c"" " string_content ") , number_literal , (string_literal ""ReadPCXImage"" " string_content ") ))) ;) })) (expression_statement "local_378 = (int *)AcquireImage(param_1,param_2);" (assignment_expression "local_378 = (int *)AcquireImage(param_1,param_2)" identifier = (cast_expression "(int *)AcquireImage(param_1,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "local_350 = OpenBlob(param_1,local_378,2,param_2);" (assignment_expression "local_350 = OpenBlob(param_1,local_378,2,param_2)" identifier = (call_expression "OpenBlob(param_1,local_378,2,param_2)" identifier (argument_list "(param_1,local_378,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (local_350 == 0) {\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }" if (parenthesized_expression "(local_350 == 0)" ( (binary_expression "local_350 == 0" identifier == number_literal) )) (compound_statement "{\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }" { (expression_statement "DestroyImageList(local_378);" (call_expression "DestroyImageList(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_002690c4;" goto statement_identifier ;) })) (expression_statement "iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);" (assignment_expression "iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566)" identifier = (call_expression "LocaleCompare(param_1 + 0x1f0,&DAT_002e2566)" identifier (argument_list "(param_1 + 0x1f0,&DAT_002e2566)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , (pointer_expression "&DAT_002e2566" & identifier) )))) ;) (if_statement "if (iVar6 == 0) {\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }\n  else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }" { (expression_statement "iVar6 = ReadBlobLSBLong(local_378);" (assignment_expression "iVar6 = ReadBlobLSBLong(local_378)" identifier = (call_expression "ReadBlobLSBLong(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }" if (parenthesized_expression "(iVar6 == 0x3ade68b1)" ( (binary_expression "iVar6 == 0x3ade68b1" identifier == number_literal) )) (compound_statement "{\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }" { (expression_statement "local_360 = (int *)AcquireQuantumMemory(0x400,8);" (assignment_expression "local_360 = (int *)AcquireQuantumMemory(0x400,8)" identifier = (cast_expression "(int *)AcquireQuantumMemory(0x400,8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(0x400,8)" identifier (argument_list "(0x400,8)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar9 = local_360;" (assignment_expression "piVar9 = local_360" identifier = identifier) ;) (if_statement "if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }" if (parenthesized_expression "(local_360 == (int *)0x0)" ( (binary_expression "local_360 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }" { (expression_statement "pcVar32 = "MemoryAllocationFailed";" (assignment_expression "pcVar32 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar31 = 400;" (assignment_expression "uVar31 = 400" identifier = number_literal) ;) (expression_statement "uVar7 = 0x12d;" (assignment_expression "uVar7 = 0x12d" identifier = number_literal) ;) (labeled_statement "LAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" statement_identifier : (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;)) }) (else_clause "else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }" else (compound_statement "{\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }" { (do_statement "do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);" do (compound_statement "{\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        }" { (expression_statement "iVar6 = ReadBlobLSBLong(local_378);" (assignment_expression "iVar6 = ReadBlobLSBLong(local_378)" identifier = (call_expression "ReadBlobLSBLong(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar9 = iVar6;" (assignment_expression "*piVar9 = iVar6" (pointer_expression "*piVar9" * identifier) = identifier) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar9 = piVar9 + 2;" (assignment_expression "piVar9 = piVar9 + 2" identifier = (binary_expression "piVar9 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar9 != local_360 + 0x800)" ( (binary_expression "piVar9 != local_360 + 0x800" identifier != (binary_expression "local_360 + 0x800" identifier + number_literal)) )) ;) (expression_statement "SeekBlob(local_378,*local_360,local_360[1],0);" (call_expression "SeekBlob(local_378,*local_360,local_360[1],0)" identifier (argument_list "(local_378,*local_360,local_360[1],0)" ( identifier , (pointer_expression "*local_360" * identifier) , (subscript_expression "local_360[1]" identifier [ number_literal ]) , number_literal ))) ;) (if_statement "if (-1 < extraout_EDX) goto LAB_0026919c;" if (parenthesized_expression "(-1 < extraout_EDX)" ( (binary_expression "-1 < extraout_EDX" number_literal < identifier) )) (goto_statement "goto LAB_0026919c;" goto statement_identifier ;)) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , number_literal , number_literal , (string_literal ""ImproperImageHeader"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) }))) }) (else_clause "else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }" else (compound_statement "{\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }" { (expression_statement "ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , number_literal , number_literal , (string_literal ""ImproperImageHeader"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) }))) (if_statement "if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }" if (parenthesized_expression "(local_378 != (int *)0x0)" ( (binary_expression "local_378 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }" { (labeled_statement "LAB_002690b2:\n      CloseBlob(local_378);" statement_identifier : (expression_statement "CloseBlob(local_378);" (call_expression "CloseBlob(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;)) (expression_statement "DestroyImageList(local_378);" (call_expression "DestroyImageList(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;) })) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }" else (compound_statement "{\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }" { (expression_statement "local_360 = (int *)0x0;" (assignment_expression "local_360 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);" statement_identifier : (expression_statement "iVar6 = ReadBlob(local_378,1,&local_33c);" (assignment_expression "iVar6 = ReadBlob(local_378,1,&local_33c)" identifier = (call_expression "ReadBlob(local_378,1,&local_33c)" identifier (argument_list "(local_378,1,&local_33c)" ( identifier , number_literal , (pointer_expression "&local_33c" & identifier) )))) ;)) (expression_statement "local_364 = 0;" (assignment_expression "local_364 = 0" identifier = number_literal) ;) (expression_statement "local_344 = 1;" (assignment_expression "local_344 = 1" identifier = number_literal) ;) (expression_statement "local_36c = 0;" (assignment_expression "local_36c = 0" identifier = number_literal) ;) (do_statement "do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);" do (compound_statement "{\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    }" { (expression_statement "local_33b = ReadBlobByte(local_378);" (assignment_expression "local_33b = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "((iVar6 != 1) || (local_33c != '\n'))" ( (binary_expression "(iVar6 != 1) || (local_33c != '\n')" (parenthesized_expression "(iVar6 != 1)" ( (binary_expression "iVar6 != 1" identifier != number_literal) )) || (parenthesized_expression "(local_33c != '\n')" ( (binary_expression "local_33c != '\n'" identifier != (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar7 = 0x146;" (assignment_expression "uVar7 = 0x146" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (expression_statement "local_33a = ReadBlobByte(local_378);" (assignment_expression "local_33a = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar6 = ReadBlobByte(local_378);" (assignment_expression "iVar6 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar7 = 0x14a;" (assignment_expression "uVar7 = 0x14a" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (expression_statement "local_339 = (byte)iVar6;" (assignment_expression "local_339 = (byte)iVar6" identifier = (cast_expression "(byte)iVar6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "local_338 = ReadBlobLSBShort(local_378);" (assignment_expression "local_338 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_336 = ReadBlobLSBShort(local_378);" (assignment_expression "local_336 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_334 = ReadBlobLSBShort(local_378);" (assignment_expression "local_334 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_332 = ReadBlobLSBShort(local_378);" (assignment_expression "local_332 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_330 = ReadBlobLSBShort(local_378);" (assignment_expression "local_330 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_32e = ReadBlobLSBShort(local_378);" (assignment_expression "local_32e = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar6 = EOFBlob(local_378);" (assignment_expression "iVar6 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar7 = 0x153;" (assignment_expression "uVar7 = 0x153" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (if_statement "if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }" if (parenthesized_expression "(((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1)))))" ( (binary_expression "((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))" (parenthesized_expression "((local_334 < local_338) || (local_332 < local_336))" ( (binary_expression "(local_334 < local_338) || (local_332 < local_336)" (parenthesized_expression "(local_334 < local_338)" ( (binary_expression "local_334 < local_338" identifier < identifier) )) || (parenthesized_expression "(local_332 < local_336)" ( (binary_expression "local_332 < local_336" identifier < identifier) ))) )) || (parenthesized_expression "(((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))" ( (parenthesized_expression "((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1)))" ( (binary_expression "(local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))" (binary_expression "(local_339 - 4 & 0xfb) != 0" (parenthesized_expression "(local_339 - 4 & 0xfb)" ( (binary_expression "local_339 - 4 & 0xfb" (binary_expression "local_339 - 4" identifier - number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "(1 < (byte)(local_339 - 1))" ( (binary_expression "1 < (byte)(local_339 - 1)" number_literal < (call_expression "(byte)(local_339 - 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_339 - 1)" ( (binary_expression "local_339 - 1" identifier - number_literal) )))) ))) )) ))) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar7 = 0x15a;" (assignment_expression "uVar7 = 0x15a" identifier = number_literal) ;) (goto_statement "goto LAB_0026a2c8;" goto statement_identifier ;) })) (expression_statement "iVar6 = ((uint)local_334 - (uint)local_338) + 1;" (assignment_expression "iVar6 = ((uint)local_334 - (uint)local_338) + 1" identifier = (binary_expression "((uint)local_334 - (uint)local_338) + 1" (parenthesized_expression "((uint)local_334 - (uint)local_338)" ( (binary_expression "(uint)local_334 - (uint)local_338" (cast_expression "(uint)local_334" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(uint)local_338" ( (type_descriptor "uint" type_identifier) ) identifier)) )) + number_literal)) ;) (expression_statement "iVar26 = ((uint)local_332 - (uint)local_336) + 1;" (assignment_expression "iVar26 = ((uint)local_332 - (uint)local_336) + 1" identifier = (binary_expression "((uint)local_332 - (uint)local_336) + 1" (parenthesized_expression "((uint)local_332 - (uint)local_336)" ( (binary_expression "(uint)local_332 - (uint)local_336" (cast_expression "(uint)local_332" ( (type_descriptor "uint" type_identifier) ) identifier) - (cast_expression "(uint)local_336" ( (type_descriptor "uint" type_identifier) ) identifier)) )) + number_literal)) ;) (expression_statement "local_378[8] = (uint)local_339;" (assignment_expression "local_378[8] = (uint)local_339" (subscript_expression "local_378[8]" identifier [ number_literal ]) = (cast_expression "(uint)local_339" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_378[6] = iVar6;" (assignment_expression "local_378[6] = iVar6" (subscript_expression "local_378[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(double *)(local_378 + 0x7c) = (double)local_330;" (assignment_expression "*(double *)(local_378 + 0x7c) = (double)local_330" (pointer_expression "*(double *)(local_378 + 0x7c)" * (cast_expression "(double *)(local_378 + 0x7c)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_378 + 0x7c)" ( (binary_expression "local_378 + 0x7c" identifier + number_literal) )))) = (cast_expression "(double)local_330" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_378[7] = iVar26;" (assignment_expression "local_378[7] = iVar26" (subscript_expression "local_378[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_378[0x77] = 1;" (assignment_expression "local_378[0x77] = 1" (subscript_expression "local_378[0x77]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(double *)(local_378 + 0x7e) = (double)local_32e;" (assignment_expression "*(double *)(local_378 + 0x7e) = (double)local_32e" (pointer_expression "*(double *)(local_378 + 0x7e)" * (cast_expression "(double *)(local_378 + 0x7e)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_378 + 0x7e)" ( (binary_expression "local_378 + 0x7e" identifier + number_literal) )))) = (cast_expression "(double)local_32e" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_378[9] = 0x10;" (assignment_expression "local_378[9] = 0x10" (subscript_expression "local_378[9]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;" if (parenthesized_expression "(((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))" ( (binary_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" (parenthesized_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0))" ( (binary_expression "(*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)" (parenthesized_expression "(*(int *)(param_1 + 0x1bc) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1bc) != 0" (pointer_expression "*(int *)(param_1 + 0x1bc)" * (cast_expression "(int *)(param_1 + 0x1bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1bc)" ( (binary_expression "param_1 + 0x1bc" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" ( (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) - number_literal) <= (cast_expression "(uint)local_378[0x91]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[0x91]" identifier [ number_literal ]))) ))) )) (goto_statement "goto LAB_0026aa7e;" goto statement_identifier ;)) (expression_statement "uVar29 = GetBlobSize(local_378);" (assignment_expression "uVar29 = GetBlobSize(local_378)" identifier = (call_expression "GetBlobSize(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))" ( (binary_expression "((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff)" (parenthesized_expression "((int)((ulonglong)uVar29 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar29 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar29 >> 0x20)" ( (binary_expression "(ulonglong)uVar29 >> 0x20" (cast_expression "(ulonglong)uVar29" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff)" ( (binary_expression "(uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff" (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "(uint)(iVar6 * iVar26) / 0xff" (call_expression "(uint)(iVar6 * iVar26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar6 * iVar26)" ( (binary_expression "iVar6 * iVar26" identifier * identifier) ))) / number_literal)) ))) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "InsufficientImageDataInFile";" (assignment_expression "pcVar32 = "InsufficientImageDataInFile"" identifier = (string_literal ""InsufficientImageDataInFile"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x166;" (assignment_expression "uVar31 = 0x166" identifier = number_literal) ;) (labeled_statement "LAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" statement_identifier : (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_002690b2;" goto statement_identifier ;) })) (expression_statement "local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);" (assignment_expression "local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2)" identifier = (call_expression "SetImageExtent(local_378,local_378[6],local_378[7],param_2)" identifier (argument_list "(local_378,local_378[6],local_378[7],param_2)" ( identifier , (subscript_expression "local_378[6]" identifier [ number_literal ]) , (subscript_expression "local_378[7]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(local_350 == 0)" ( (binary_expression "local_350 == 0" identifier == number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = (char *)param_2[2];" (assignment_expression "pcVar32 = (char *)param_2[2]" identifier = (cast_expression "(char *)param_2[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (if_statement "if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }" if (parenthesized_expression "((char *)param_2[2] == (char *)0x0)" ( (binary_expression "(char *)param_2[2] == (char *)0x0" (cast_expression "(char *)param_2[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar32 = "unknown";\n        }" { (expression_statement "pcVar32 = "unknown";" (assignment_expression "pcVar32 = "unknown"" identifier = (string_literal ""unknown"" " string_content ")) ;) })) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar31 = 0x169;" (assignment_expression "uVar31 = 0x169" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "SetImageBackgroundColor(local_378,param_2);" (call_expression "SetImageBackgroundColor(local_378,param_2)" identifier (argument_list "(local_378,param_2)" ( identifier , identifier ))) ;) (expression_statement "pbVar10 = local_320;" (assignment_expression "pbVar10 = local_320" identifier = identifier) ;) (for_statement "for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }" for ( (assignment_expression "iVar6 = 0xc0" identifier = number_literal) ; (binary_expression "iVar6 != 0" identifier != number_literal) ; (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ) (compound_statement "{\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }" { (expression_statement "pbVar10[0] = 0;" (assignment_expression "pbVar10[0] = 0" (subscript_expression "pbVar10[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar10[1] = 0;" (assignment_expression "pbVar10[1] = 0" (subscript_expression "pbVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar10[2] = 0;" (assignment_expression "pbVar10[2] = 0" (subscript_expression "pbVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar10[3] = 0;" (assignment_expression "pbVar10[3] = 0" (subscript_expression "pbVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4" identifier = (binary_expression "pbVar10 + (uint)bVar28 * -8 + 4" (binary_expression "pbVar10 + (uint)bVar28 * -8" identifier + (binary_expression "(uint)bVar28 * -8" (cast_expression "(uint)bVar28" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);" (assignment_expression "iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320)" identifier = (call_expression "ReadBlob(local_378,local_378[9] * 3,local_320)" identifier (argument_list "(local_378,local_378[9] * 3,local_320)" ( identifier , (binary_expression "local_378[9] * 3" (subscript_expression "local_378[9]" identifier [ number_literal ]) * number_literal) , identifier )))) ;) (if_statement "if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(local_378[9] * 3 != iVar6)" ( (binary_expression "local_378[9] * 3 != iVar6" (binary_expression "local_378[9] * 3" (subscript_expression "local_378[9]" identifier [ number_literal ]) * number_literal) != identifier) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x16e;" (assignment_expression "uVar31 = 0x16e" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "local_32c = ReadBlobByte(local_378);" (assignment_expression "local_32c = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_32b = ReadBlobByte(local_378);" (assignment_expression "local_32b = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(local_32b == 0)" ( (binary_expression "local_32b == 0" identifier == number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x172;" (assignment_expression "uVar31 = 0x172" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(6 < local_32b)" ( (binary_expression "6 < local_32b" number_literal < identifier) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x174;" (assignment_expression "uVar31 = 0x174" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar17 = (uint)local_32b * (uint)local_339;" (assignment_expression "uVar17 = (uint)local_32b * (uint)local_339" identifier = (binary_expression "(uint)local_32b * (uint)local_339" (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier) * (cast_expression "(uint)local_339" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(0x3f < uVar17)" ( (binary_expression "0x3f < uVar17" number_literal < identifier) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x176;" (assignment_expression "uVar31 = 0x176" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }" if (parenthesized_expression "(((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1))))" ( (binary_expression "((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))" (parenthesized_expression "((local_32b == 1) || (local_339 != 8))" ( (binary_expression "(local_32b == 1) || (local_339 != 8)" (parenthesized_expression "(local_32b == 1)" ( (binary_expression "local_32b == 1" identifier == number_literal) )) || (parenthesized_expression "(local_339 != 8)" ( (binary_expression "local_339 != 8" identifier != number_literal) ))) )) && (parenthesized_expression "(((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))" ( (parenthesized_expression "((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1))" ( (binary_expression "(local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)" (binary_expression "(local_33b - 3U & 0xfd) == 0" (parenthesized_expression "(local_33b - 3U & 0xfd)" ( (binary_expression "local_33b - 3U & 0xfd" (binary_expression "local_33b - 3U" identifier - number_literal) & number_literal) )) == number_literal) || (parenthesized_expression "(uVar17 == 1)" ( (binary_expression "uVar17 == 1" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }" { (expression_statement "uVar17 = 1 << ((byte)uVar17 & 0x1f);" (assignment_expression "uVar17 = 1 << ((byte)uVar17 & 0x1f)" identifier = (binary_expression "1 << ((byte)uVar17 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar17 & 0x1f)" ( (binary_expression "(byte)uVar17 & 0x1f" (cast_expression "(byte)uVar17" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }" if (parenthesized_expression "(0x100 < uVar17)" ( (binary_expression "0x100 < uVar17" number_literal < identifier) )) (compound_statement "{\n          uVar17 = 0x100;\n        }" { (expression_statement "uVar17 = 0x100;" (assignment_expression "uVar17 = 0x100" identifier = number_literal) ;) })) (expression_statement "local_378[9] = uVar17;" (assignment_expression "local_378[9] = uVar17" (subscript_expression "local_378[9]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n        uVar17 = local_378[9];\n      }" else (compound_statement "{\n        uVar17 = local_378[9];\n      }" { (expression_statement "uVar17 = local_378[9];" (assignment_expression "uVar17 = local_378[9]" identifier = (subscript_expression "local_378[9]" identifier [ number_literal ])) ;) }))) (expression_statement "iVar6 = AcquireImageColormap(local_378,uVar17,param_2);" (assignment_expression "iVar6 = AcquireImageColormap(local_378,uVar17,param_2)" identifier = (call_expression "AcquireImageColormap(local_378,uVar17,param_2)" identifier (argument_list "(local_378,uVar17,param_2)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "MemoryAllocationFailed";" (assignment_expression "pcVar32 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar7 = 400;" (assignment_expression "uVar7 = 400" identifier = number_literal) ;) (expression_statement "uVar31 = 0x17e;" (assignment_expression "uVar31 = 0x17e" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }" if (parenthesized_expression "((7 < local_339) && (local_32b != 1))" ( (binary_expression "(7 < local_339) && (local_32b != 1)" (parenthesized_expression "(7 < local_339)" ( (binary_expression "7 < local_339" number_literal < identifier) )) && (parenthesized_expression "(local_32b != 1)" ( (binary_expression "local_32b != 1" identifier != number_literal) ))) )) (compound_statement "{\n        *local_378 = 1;\n      }" { (expression_statement "*local_378 = 1;" (assignment_expression "*local_378 = 1" (pointer_expression "*local_378" * identifier) = number_literal) ;) })) (expression_statement "fVar4 = DAT_002e814c;" (assignment_expression "fVar4 = DAT_002e814c" identifier = identifier) ;) (expression_statement "iVar6 = local_378[9];" (assignment_expression "iVar6 = local_378[9]" identifier = (subscript_expression "local_378[9]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }" if (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) (compound_statement "{\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }" { (expression_statement "pbVar10 = local_320;" (assignment_expression "pbVar10 = local_320" identifier = identifier) ;) (expression_statement "pdVar15 = (double *)(local_378[10] + 0x20);" (assignment_expression "pdVar15 = (double *)(local_378[10] + 0x20)" identifier = (cast_expression "(double *)(local_378[10] + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_378[10] + 0x20)" ( (binary_expression "local_378[10] + 0x20" (subscript_expression "local_378[10]" identifier [ number_literal ]) + number_literal) )))) ;) (do_statement "do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);" do (compound_statement "{\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        }" { (expression_statement "pbVar8 = pbVar10 + 3;" (assignment_expression "pbVar8 = pbVar10 + 3" identifier = (binary_expression "pbVar10 + 3" identifier + number_literal)) ;) (expression_statement "*pdVar15 = (double)((float)*pbVar10 * fVar4);" (assignment_expression "*pdVar15 = (double)((float)*pbVar10 * fVar4)" (pointer_expression "*pdVar15" * identifier) = (cast_expression "(double)((float)*pbVar10 * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*pbVar10 * fVar4)" ( (binary_expression "(float)*pbVar10 * fVar4" (cast_expression "(float)*pbVar10" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*pbVar10" * identifier)) * identifier) )))) ;) (expression_statement "pdVar15[1] = (double)((float)pbVar10[1] * fVar4);" (assignment_expression "pdVar15[1] = (double)((float)pbVar10[1] * fVar4)" (subscript_expression "pdVar15[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar10[1] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar10[1] * fVar4)" ( (binary_expression "(float)pbVar10[1] * fVar4" (cast_expression "(float)pbVar10[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar10[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pdVar15[2] = (double)((float)pbVar10[2] * fVar4);" (assignment_expression "pdVar15[2] = (double)((float)pbVar10[2] * fVar4)" (subscript_expression "pdVar15[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar10[2] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar10[2] * fVar4)" ( (binary_expression "(float)pbVar10[2] * fVar4" (cast_expression "(float)pbVar10[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar10[2]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pbVar10 = pbVar8;" (assignment_expression "pbVar10 = pbVar8" identifier = identifier) ;) (expression_statement "pdVar15 = pdVar15 + 10;" (assignment_expression "pdVar15 = pdVar15 + 10" identifier = (binary_expression "pdVar15 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar8 != local_320 + iVar6 * 3)" ( (binary_expression "pbVar8 != local_320 + iVar6 * 3" identifier != (binary_expression "local_320 + iVar6 * 3" identifier + (binary_expression "iVar6 * 3" identifier * number_literal))) )) ;) })) (expression_statement "local_32a = ReadBlobLSBShort(local_378);" (assignment_expression "local_32a = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_328 = ReadBlobLSBShort(local_378);" (assignment_expression "local_328 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_326 = ReadBlobLSBShort(local_378);" (assignment_expression "local_326 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_324 = ReadBlobLSBShort(local_378);" (assignment_expression "local_324 = ReadBlobLSBShort(local_378)" identifier = (call_expression "ReadBlobLSBShort(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar6 = 0x36;" (assignment_expression "iVar6 = 0x36" identifier = number_literal) ;) (do_statement "do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);" do (compound_statement "{\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      }" { (expression_statement "ReadBlobByte(local_378);" (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) ;) (expression_statement "uVar24 = (uint)local_32a;" (assignment_expression "uVar24 = (uint)local_32a" identifier = (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar17 = local_378[7];" (assignment_expression "uVar17 = local_378[7]" identifier = (subscript_expression "local_378[7]" identifier [ number_literal ])) ;) (if_statement "if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "((uVar17 == 0) || (uVar24 == 0))" ( (binary_expression "(uVar17 == 0) || (uVar24 == 0)" (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }" { (labeled_statement "LAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" statement_identifier : (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) }))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x192;" (assignment_expression "uVar31 = 0x192" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar22 = uVar24 * uVar17;" (assignment_expression "uVar22 = uVar24 * uVar17" identifier = (binary_expression "uVar24 * uVar17" identifier * identifier)) ;) (if_statement "if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }" if (parenthesized_expression "(uVar24 != uVar22 / uVar17)" ( (binary_expression "uVar24 != uVar22 / uVar17" identifier != (binary_expression "uVar22 / uVar17" identifier / identifier)) )) (compound_statement "{\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }" { (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar9 = 0xc;" (assignment_expression "*piVar9 = 0xc" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (goto_statement "goto LAB_0026963a;" goto statement_identifier ;) })) (expression_statement "uVar17 = (uint)local_32b;" (assignment_expression "uVar17 = (uint)local_32b" identifier = (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "((uVar22 == 0) || (uVar17 == 0))" ( (binary_expression "(uVar22 == 0) || (uVar17 == 0)" (parenthesized_expression "(uVar22 == 0)" ( (binary_expression "uVar22 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }" { (labeled_statement "LAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" statement_identifier : (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) }))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x194;" (assignment_expression "uVar31 = 0x194" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar24 = uVar17 * uVar22;" (assignment_expression "uVar24 = uVar17 * uVar22" identifier = (binary_expression "uVar17 * uVar22" identifier * identifier)) ;) (if_statement "if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }" if (parenthesized_expression "(uVar17 != uVar24 / uVar22)" ( (binary_expression "uVar17 != uVar24 / uVar22" identifier != (binary_expression "uVar24 / uVar22" identifier / identifier)) )) (compound_statement "{\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }" { (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar9 = 0xc;" (assignment_expression "*piVar9 = 0xc" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (goto_statement "goto LAB_002696ee;" goto statement_identifier ;) })) (expression_statement "uVar17 = local_339 * uVar17 * local_378[6];" (assignment_expression "uVar17 = local_339 * uVar17 * local_378[6]" identifier = (binary_expression "local_339 * uVar17 * local_378[6]" (binary_expression "local_339 * uVar17" identifier * identifier) * (subscript_expression "local_378[6]" identifier [ number_literal ]))) ;) (if_statement "if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0)" ( (binary_expression "uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0" (binary_expression "uVar24 * 8 <= uVar17" (binary_expression "uVar24 * 8" identifier * number_literal) <= identifier) && (binary_expression "uVar17 + uVar24 * -8 != 0" (binary_expression "uVar17 + uVar24 * -8" identifier + (binary_expression "uVar24 * -8" identifier * number_literal)) != number_literal)) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x196;" (assignment_expression "uVar31 = 0x196" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar29 = GetBlobSize(local_378);" (assignment_expression "uVar29 = GetBlobSize(local_378)" identifier = (call_expression "GetBlobSize(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80))" ( (binary_expression "((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)" (parenthesized_expression "((int)((ulonglong)uVar29 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar29 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar29 >> 0x20)" ( (binary_expression "(ulonglong)uVar29 >> 0x20" (cast_expression "(ulonglong)uVar29" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar29 < (uVar24 >> 5) + 0x80)" ( (binary_expression "(uint)uVar29 < (uVar24 >> 5) + 0x80" (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "(uVar24 >> 5) + 0x80" (parenthesized_expression "(uVar24 >> 5)" ( (binary_expression "uVar24 >> 5" identifier >> number_literal) )) + number_literal)) ))) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x198;" (assignment_expression "uVar31 = 0x198" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "bVar16 = local_32b;" (assignment_expression "bVar16 = local_32b" identifier = identifier) ;) (if_statement "if (local_32b < 8) {\n        bVar16 = 8;\n      }" if (parenthesized_expression "(local_32b < 8)" ( (binary_expression "local_32b < 8" identifier < number_literal) )) (compound_statement "{\n        bVar16 = 8;\n      }" { (expression_statement "bVar16 = 8;" (assignment_expression "bVar16 = 8" identifier = number_literal) ;) })) (expression_statement "uVar17 = (uint)local_32a;" (assignment_expression "uVar17 = (uint)local_32a" identifier = (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }" if (parenthesized_expression "((uint)local_32a < (uint)local_378[6])" ( (binary_expression "(uint)local_32a < (uint)local_378[6]" (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)local_378[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[6]" identifier [ number_literal ]))) )) (compound_statement "{\n        uVar17 = local_378[6];\n      }" { (expression_statement "uVar17 = local_378[6];" (assignment_expression "uVar17 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) })) (expression_statement "pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);" (assignment_expression "pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16)" identifier = (cast_expression "(byte *)AcquireQuantumMemory(uVar17,bVar16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(uVar17,bVar16)" identifier (argument_list "(uVar17,bVar16)" ( identifier , identifier ))))) ;) (expression_statement "iVar6 = AcquireVirtualMemory(uVar24,2);" (assignment_expression "iVar6 = AcquireVirtualMemory(uVar24,2)" identifier = (call_expression "AcquireVirtualMemory(uVar24,2)" identifier (argument_list "(uVar24,2)" ( identifier , number_literal )))) ;) (if_statement "if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "((pbVar10 == (byte *)0x0) || (iVar6 == 0))" ( (binary_expression "(pbVar10 == (byte *)0x0) || (iVar6 == 0)" (parenthesized_expression "(pbVar10 == (byte *)0x0)" ( (binary_expression "pbVar10 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) ))) )) (compound_statement "{\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" if (parenthesized_expression "(pbVar10 == (byte *)0x0)" ( (binary_expression "pbVar10 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }" { (if_statement "if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }" { (expression_statement "local_358 = RelinquishVirtualMemory(iVar6);" (assignment_expression "local_358 = RelinquishVirtualMemory(iVar6)" identifier = (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (goto_statement "goto LAB_0026ab65;" goto statement_identifier ;) })) }) (else_clause "else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" else (compound_statement "{\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" { (expression_statement "iVar26 = RelinquishMagickMemory(pbVar10);" (assignment_expression "iVar26 = RelinquishMagickMemory(pbVar10)" identifier = (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }" { (expression_statement "local_358 = 0;" (assignment_expression "local_358 = 0" identifier = number_literal) ;) (if_statement "if (iVar26 == 0) goto LAB_0026ab7d;" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0026ab7d;" goto statement_identifier ;)) }) (else_clause "else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }" else (compound_statement "{\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }" { (expression_statement "local_358 = RelinquishVirtualMemory(iVar6);" (assignment_expression "local_358 = RelinquishVirtualMemory(iVar6)" identifier = (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (iVar26 == 0) goto LAB_0026ab65;" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0026ab65;" goto statement_identifier ;)) }))) (expression_statement "RelinquishMagickMemory(iVar26);" (call_expression "RelinquishMagickMemory(iVar26)" identifier (argument_list "(iVar26)" ( identifier ))) ;) (labeled_statement "LAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }" statement_identifier : (if_statement "if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }" if (parenthesized_expression "(local_358 != 0)" ( (binary_expression "local_358 != 0" identifier != number_literal) )) (compound_statement "{\n            RelinquishVirtualMemory(local_358);\n          }" { (expression_statement "RelinquishVirtualMemory(local_358);" (call_expression "RelinquishVirtualMemory(local_358)" identifier (argument_list "(local_358)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" statement_identifier : (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) }))) (expression_statement "pcVar32 = "MemoryAllocationFailed";" (assignment_expression "pcVar32 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar7 = 400;" (assignment_expression "uVar7 = 400" identifier = number_literal) ;) (expression_statement "uVar31 = 0x1a3;" (assignment_expression "uVar31 = 0x1a3" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "uVar17 = local_378[6];" (assignment_expression "uVar17 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (if_statement "if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }" if (parenthesized_expression "((uint)local_378[6] <= (uint)local_32a)" ( (binary_expression "(uint)local_378[6] <= (uint)local_32a" (cast_expression "(uint)local_378[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[6]" identifier [ number_literal ])) <= (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n        uVar17 = (uint)local_32a;\n      }" { (expression_statement "uVar17 = (uint)local_32a;" (assignment_expression "uVar17 = (uint)local_32a" identifier = (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (expression_statement "uVar22 = (uint)local_32b;" (assignment_expression "uVar22 = (uint)local_32b" identifier = (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (local_32b < 8) {\n        uVar22 = 8;\n      }" if (parenthesized_expression "(local_32b < 8)" ( (binary_expression "local_32b < 8" identifier < number_literal) )) (compound_statement "{\n        uVar22 = 8;\n      }" { (expression_statement "uVar22 = 8;" (assignment_expression "uVar22 = 8" identifier = number_literal) ;) })) (expression_statement "memset(pbVar10,0,uVar17 * uVar22);" (call_expression "memset(pbVar10,0,uVar17 * uVar22)" identifier (argument_list "(pbVar10,0,uVar17 * uVar22)" ( identifier , number_literal , (binary_expression "uVar17 * uVar22" identifier * identifier) ))) ;) (expression_statement "__s = (undefined1 *)GetVirtualMemoryBlob(iVar6);" (assignment_expression "__s = (undefined1 *)GetVirtualMemoryBlob(iVar6)" identifier = (cast_expression "(undefined1 *)GetVirtualMemoryBlob(iVar6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMemoryBlob(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))))) ;) (expression_statement "memset(__s,0,uVar24 * 2);" (call_expression "memset(__s,0,uVar24 * 2)" identifier (argument_list "(__s,0,uVar24 * 2)" ( identifier , number_literal , (binary_expression "uVar24 * 2" identifier * number_literal) ))) ;) (expression_statement "puVar25 = __s;" (assignment_expression "puVar25 = __s" identifier = identifier) ;) (if_statement "if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }" if (parenthesized_expression "(local_33a == '\0')" ( (binary_expression "local_33a == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }" { (for_statement "for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }" for ( ; (binary_expression "uVar24 != 0" identifier != number_literal) ; (assignment_expression "uVar24 = uVar24 - 1" identifier = (binary_expression "uVar24 - 1" identifier - number_literal)) ) (compound_statement "{\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }" { (expression_statement "uVar5 = ReadBlobByte(local_378);" (assignment_expression "uVar5 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar26 = EOFBlob(local_378);" (assignment_expression "iVar26 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }" { (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier ))) ;) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              RelinquishMagickMemory(local_360);\n            }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x1b2;" (assignment_expression "uVar31 = 0x1b2" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "*puVar25 = uVar5;" (assignment_expression "*puVar25 = uVar5" (pointer_expression "*puVar25" * identifier) = identifier) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) })) }) (else_clause "else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }" else (compound_statement "{\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }" { (for_statement "for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }" for ( ; (binary_expression "uVar24 != 0" identifier != number_literal) ; (assignment_expression "uVar24 = uVar24 - 1" identifier = (binary_expression "uVar24 - 1" identifier - number_literal)) ) (compound_statement "{\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }" { (while_statement "while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }" { (expression_statement "uVar17 = ReadBlobByte(local_378);" (assignment_expression "uVar17 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar26 = EOFBlob(local_378);" (assignment_expression "iVar26 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }" { (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier ))) ;) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                RelinquishMagickMemory(local_360);\n              }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x1bb;" (assignment_expression "uVar31 = 0x1bb" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((uVar17 & 0xc0) != 0xc0) break;" if (parenthesized_expression "((uVar17 & 0xc0) != 0xc0)" ( (binary_expression "(uVar17 & 0xc0) != 0xc0" (parenthesized_expression "(uVar17 & 0xc0)" ( (binary_expression "uVar17 & 0xc0" identifier & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar5 = ReadBlobByte(local_378);" (assignment_expression "uVar5 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "iVar26 = EOFBlob(local_378);" (assignment_expression "iVar26 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }" { (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier ))) ;) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                RelinquishMagickMemory(local_360);\n              }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" identifier = (string_literal ""UnexpectedEndOfFile"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x1c5;" (assignment_expression "uVar31 = 0x1c5" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }" if (parenthesized_expression "((uVar17 & 0x3f) != 0)" ( (binary_expression "(uVar17 & 0x3f) != 0" (parenthesized_expression "(uVar17 & 0x3f)" ( (binary_expression "uVar17 & 0x3f" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }" { (expression_statement "uVar24 = uVar24 - 1;" (assignment_expression "uVar24 = uVar24 - 1" identifier = (binary_expression "uVar24 - 1" identifier - number_literal)) ;) (expression_statement "*puVar25 = uVar5;" (assignment_expression "*puVar25 = uVar5" (pointer_expression "*puVar25" * identifier) = identifier) ;) (if_statement "if (uVar24 == 0) goto LAB_00269a7c;" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00269a7c;" goto statement_identifier ;)) (expression_statement "puVar18 = puVar25 + (uVar17 & 0x3f);" (assignment_expression "puVar18 = puVar25 + (uVar17 & 0x3f)" identifier = (binary_expression "puVar25 + (uVar17 & 0x3f)" identifier + (parenthesized_expression "(uVar17 & 0x3f)" ( (binary_expression "uVar17 & 0x3f" identifier & number_literal) )))) ;) (expression_statement "puVar11 = puVar25;" (assignment_expression "puVar11 = puVar25" identifier = identifier) ;) (while_statement "while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }" while (parenthesized_expression "(puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11)" ( (comma_expression "puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11" (assignment_expression "puVar11 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) , (comma_expression "puVar25 = puVar18, puVar18 != puVar11" (assignment_expression "puVar25 = puVar18" identifier = identifier) , (binary_expression "puVar18 != puVar11" identifier != identifier))) )) (compound_statement "{\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }" { (expression_statement "uVar24 = uVar24 - 1;" (assignment_expression "uVar24 = uVar24 - 1" identifier = (binary_expression "uVar24 - 1" identifier - number_literal)) ;) (expression_statement "*puVar11 = uVar5;" (assignment_expression "*puVar11 = uVar5" (pointer_expression "*puVar11" * identifier) = identifier) ;) (if_statement "if (uVar24 == 0) goto LAB_00269a7c;" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00269a7c;" goto statement_identifier ;)) })) })) })) (expression_statement "*puVar25 = (char)uVar17;" (assignment_expression "*puVar25 = (char)uVar17" (pointer_expression "*puVar25" * identifier) = (cast_expression "(char)uVar17" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) })) }))) (labeled_statement "LAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" statement_identifier : (if_statement "if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" if (parenthesized_expression "(*local_378 == 1)" ( (binary_expression "*local_378 == 1" (pointer_expression "*local_378" * identifier) == number_literal) )) (compound_statement "{\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }" { (expression_statement "local_378[0xa5] = (uint)(3 < local_32b) << 2;" (assignment_expression "local_378[0xa5] = (uint)(3 < local_32b) << 2" (subscript_expression "local_378[0xa5]" identifier [ number_literal ]) = (binary_expression "(uint)(3 < local_32b) << 2" (call_expression "(uint)(3 < local_32b)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(3 < local_32b)" ( (binary_expression "3 < local_32b" number_literal < identifier) ))) << number_literal)) ;) }) (else_clause "else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" else (if_statement "if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" if (parenthesized_expression "(local_33b == '\x05')" ( (binary_expression "local_33b == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }" { (if_statement "if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }" if (parenthesized_expression "(0x100 < (uint)local_378[9])" ( (binary_expression "0x100 < (uint)local_378[9]" number_literal < (cast_expression "(uint)local_378[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[9]" identifier [ number_literal ]))) )) (compound_statement "{\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }" { (labeled_statement "LAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);" statement_identifier : (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier ))) ;)) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }" if (parenthesized_expression "(local_360 != (int *)0x0)" ( (binary_expression "local_360 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            RelinquishMagickMemory(local_360);\n          }" { (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) })) (expression_statement "pcVar32 = "ColormapExceeds256Colors";" (assignment_expression "pcVar32 = "ColormapExceeds256Colors"" identifier = (string_literal ""ColormapExceeds256Colors"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x1d9;" (assignment_expression "uVar31 = 0x1d9" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (if_statement "if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;" if (parenthesized_expression "((uint)local_339 * (uint)local_32b == 1)" ( (binary_expression "(uint)local_339 * (uint)local_32b == 1" (binary_expression "(uint)local_339 * (uint)local_32b" (cast_expression "(uint)local_339" ( (type_descriptor "uint" type_identifier) ) identifier) * (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)) == number_literal) )) (goto_statement "goto LAB_0026a31e;" goto statement_identifier ;)) (if_statement "if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }" if (parenthesized_expression "(0x10 < (uint)local_378[9])" ( (binary_expression "0x10 < (uint)local_378[9]" number_literal < (cast_expression "(uint)local_378[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[9]" identifier [ number_literal ]))) )) (compound_statement "{\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }" { (expression_statement "local_322 = ReadBlobByte(local_378);" (assignment_expression "local_322 = ReadBlobByte(local_378)" identifier = (call_expression "ReadBlobByte(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "ReadBlob(local_378,local_378[9] * 3,local_320);" (call_expression "ReadBlob(local_378,local_378[9] * 3,local_320)" identifier (argument_list "(local_378,local_378[9] * 3,local_320)" ( identifier , (binary_expression "local_378[9] * 3" (subscript_expression "local_378[9]" identifier [ number_literal ]) * number_literal) , identifier ))) ;) (expression_statement "fVar4 = DAT_002e814c;" (assignment_expression "fVar4 = DAT_002e814c" identifier = identifier) ;) (expression_statement "iVar26 = local_378[9];" (assignment_expression "iVar26 = local_378[9]" identifier = (subscript_expression "local_378[9]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }" if (parenthesized_expression "(0 < iVar26)" ( (binary_expression "0 < iVar26" number_literal < identifier) )) (compound_statement "{\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }" { (expression_statement "pdVar15 = (double *)(local_378[10] + 0x20);" (assignment_expression "pdVar15 = (double *)(local_378[10] + 0x20)" identifier = (cast_expression "(double *)(local_378[10] + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_378[10] + 0x20)" ( (binary_expression "local_378[10] + 0x20" (subscript_expression "local_378[10]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "pbVar8 = local_320;" (assignment_expression "pbVar8 = local_320" identifier = identifier) ;) (do_statement "do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);" do (compound_statement "{\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            }" { (expression_statement "pbVar14 = pbVar8 + 3;" (assignment_expression "pbVar14 = pbVar8 + 3" identifier = (binary_expression "pbVar8 + 3" identifier + number_literal)) ;) (expression_statement "*pdVar15 = (double)((float)*pbVar8 * fVar4);" (assignment_expression "*pdVar15 = (double)((float)*pbVar8 * fVar4)" (pointer_expression "*pdVar15" * identifier) = (cast_expression "(double)((float)*pbVar8 * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*pbVar8 * fVar4)" ( (binary_expression "(float)*pbVar8 * fVar4" (cast_expression "(float)*pbVar8" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*pbVar8" * identifier)) * identifier) )))) ;) (expression_statement "pdVar15[1] = (double)((float)pbVar8[1] * fVar4);" (assignment_expression "pdVar15[1] = (double)((float)pbVar8[1] * fVar4)" (subscript_expression "pdVar15[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar8[1] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar8[1] * fVar4)" ( (binary_expression "(float)pbVar8[1] * fVar4" (cast_expression "(float)pbVar8[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar8[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pdVar15[2] = (double)((float)pbVar8[2] * fVar4);" (assignment_expression "pdVar15[2] = (double)((float)pbVar8[2] * fVar4)" (subscript_expression "pdVar15[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)pbVar8[2] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar8[2] * fVar4)" ( (binary_expression "(float)pbVar8[2] * fVar4" (cast_expression "(float)pbVar8[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar8[2]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pdVar15 = pdVar15 + 10;" (assignment_expression "pdVar15 = pdVar15 + 10" identifier = (binary_expression "pdVar15 + 10" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar14;" (assignment_expression "pbVar8 = pbVar14" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar14 != local_320 + iVar26 * 3)" ( (binary_expression "pbVar14 != local_320 + iVar26 * 3" identifier != (binary_expression "local_320 + iVar26 * 3" identifier + (binary_expression "iVar26 * 3" identifier * number_literal))) )) ;) })) })) }) (else_clause "else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" else (if_statement "if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" if (parenthesized_expression "((uint)local_339 * (uint)local_32b == 1)" ( (binary_expression "(uint)local_339 * (uint)local_32b == 1" (binary_expression "(uint)local_339 * (uint)local_32b" (cast_expression "(uint)local_339" ( (type_descriptor "uint" type_identifier) ) identifier) * (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)) == number_literal) )) (compound_statement "{\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" { (if_statement "if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;" if (parenthesized_expression "(0x100 < (uint)local_378[9])" ( (binary_expression "0x100 < (uint)local_378[9]" number_literal < (cast_expression "(uint)local_378[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[9]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_0026aaa4;" goto statement_identifier ;)) (labeled_statement "LAB_0026a31e:\n        iVar26 = local_378[10];" statement_identifier : (expression_statement "iVar26 = local_378[10];" (assignment_expression "iVar26 = local_378[10]" identifier = (subscript_expression "local_378[10]" identifier [ number_literal ])) ;)) (expression_statement "*(undefined8 *)(iVar26 + 0x20) = 0;" (assignment_expression "*(undefined8 *)(iVar26 + 0x20) = 0" (pointer_expression "*(undefined8 *)(iVar26 + 0x20)" * (cast_expression "(undefined8 *)(iVar26 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x20)" ( (binary_expression "iVar26 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(iVar26 + 0x28) = 0;" (assignment_expression "*(undefined8 *)(iVar26 + 0x28) = 0" (pointer_expression "*(undefined8 *)(iVar26 + 0x28)" * (cast_expression "(undefined8 *)(iVar26 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x28)" ( (binary_expression "iVar26 + 0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(iVar26 + 0x30) = 0;" (assignment_expression "*(undefined8 *)(iVar26 + 0x30) = 0" (pointer_expression "*(undefined8 *)(iVar26 + 0x30)" * (cast_expression "(undefined8 *)(iVar26 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x30)" ( (binary_expression "iVar26 + 0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fVar4 = DAT_002df8a8;" (assignment_expression "fVar4 = DAT_002df8a8" identifier = identifier) ;) (expression_statement "*(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(iVar26 + 0x70) = (double)DAT_002df8a8" (pointer_expression "*(double *)(iVar26 + 0x70)" * (cast_expression "(double *)(iVar26 + 0x70)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x70)" ( (binary_expression "iVar26 + 0x70" identifier + number_literal) )))) = (cast_expression "(double)DAT_002df8a8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "*(double *)(iVar26 + 0x78) = (double)fVar4;" (assignment_expression "*(double *)(iVar26 + 0x78) = (double)fVar4" (pointer_expression "*(double *)(iVar26 + 0x78)" * (cast_expression "(double *)(iVar26 + 0x78)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x78)" ( (binary_expression "iVar26 + 0x78" identifier + number_literal) )))) = (cast_expression "(double)fVar4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "*(double *)(iVar26 + 0x80) = (double)fVar4;" (assignment_expression "*(double *)(iVar26 + 0x80) = (double)fVar4" (pointer_expression "*(double *)(iVar26 + 0x80)" * (cast_expression "(double *)(iVar26 + 0x80)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x80)" ( (binary_expression "iVar26 + 0x80" identifier + number_literal) )))) = (cast_expression "(double)fVar4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))))))) (expression_statement "local_364 = 0;" (assignment_expression "local_364 = 0" identifier = number_literal) ;) (expression_statement "local_34c = 0;" (assignment_expression "local_34c = 0" identifier = number_literal) ;) (expression_statement "local_348 = 0;" (assignment_expression "local_348 = 0" identifier = number_literal) ;) (if_statement "if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }" if (parenthesized_expression "(0 < local_378[7])" ( (binary_expression "0 < local_378[7]" number_literal < (subscript_expression "local_378[7]" identifier [ number_literal ])) )) (compound_statement "{\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }" { (do_statement "do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);" do (compound_statement "{\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        }" { (expression_statement "pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;" (assignment_expression "pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b" identifier = (binary_expression "__s + (uint)local_32a * local_364 * (uint)local_32b" identifier + (binary_expression "(uint)local_32a * local_364 * (uint)local_32b" (binary_expression "(uint)local_32a * local_364" (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier) * identifier) * (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)))) ;) (expression_statement "iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);" (assignment_expression "iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2)" identifier = (call_expression "QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2)" identifier (argument_list "(local_378,0,local_364,local_378[6],1,param_2)" ( identifier , number_literal , identifier , (subscript_expression "local_378[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (iVar26 == 0) break;" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar17 = (uint)local_32b;" (assignment_expression "uVar17 = (uint)local_32b" identifier = (cast_expression "(uint)local_32b" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }" if (parenthesized_expression "(*local_378 == 1)" ( (binary_expression "*local_378 == 1" (pointer_expression "*local_378" * identifier) == number_literal) )) (compound_statement "{\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }" { (if_statement "if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }" if (parenthesized_expression "((local_32b != 0) && (local_32a != 0))" ( (binary_expression "(local_32b != 0) && (local_32a != 0)" (parenthesized_expression "(local_32b != 0)" ( (binary_expression "local_32b != 0" identifier != number_literal) )) && (parenthesized_expression "(local_32a != 0)" ( (binary_expression "local_32a != 0" identifier != number_literal) ))) )) (compound_statement "{\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }" { (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" identifier = identifier) ;) (do_statement "do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);" do (compound_statement "{\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              }" { (expression_statement "pbVar23 = pbVar8 + local_32a;" (assignment_expression "pbVar23 = pbVar8 + local_32a" identifier = (binary_expression "pbVar8 + local_32a" identifier + identifier)) ;) (expression_statement "pbVar19 = pbVar14;" (assignment_expression "pbVar19 = pbVar14" identifier = identifier) ;) (do_statement "do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);" do (compound_statement "{\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                }" { (expression_statement "bVar16 = *pbVar8;" (assignment_expression "bVar16 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar19 = bVar16;" (assignment_expression "*pbVar19 = bVar16" (pointer_expression "*pbVar19" * identifier) = identifier) ;) (expression_statement "pbVar19 = pbVar19 + uVar17;" (assignment_expression "pbVar19 = pbVar19 + uVar17" identifier = (binary_expression "pbVar19 + uVar17" identifier + identifier)) ;) }) while (parenthesized_expression "(pbVar23 != pbVar8)" ( (binary_expression "pbVar23 != pbVar8" identifier != identifier) )) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar23;" (assignment_expression "pbVar8 = pbVar23" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar14 != pbVar10 + uVar17)" ( (binary_expression "pbVar14 != pbVar10 + uVar17" identifier != (binary_expression "pbVar10 + uVar17" identifier + identifier)) )) ;) })) (labeled_statement "LAB_00269be4:\n            local_370 = local_378[6];" statement_identifier : (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }" else (compound_statement "{\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }" { (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (if_statement "if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }" if (parenthesized_expression "(1 < local_32b)" ( (binary_expression "1 < local_32b" number_literal < identifier) )) (compound_statement "{\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }" { (if_statement "if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }" if (parenthesized_expression "(0 < (int)local_370)" ( (binary_expression "0 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);" do (compound_statement "{\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                }" { (expression_statement "pbVar10[iVar12] = 0;" (assignment_expression "pbVar10[iVar12] = 0" (subscript_expression "pbVar10[iVar12]" identifier [ identifier ]) = number_literal) ;) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar12 < local_378[6])" ( (binary_expression "iVar12 < local_378[6]" identifier < (subscript_expression "local_378[6]" identifier [ number_literal ])) )) ;) })) (expression_statement "uVar24 = (uint)local_32a;" (assignment_expression "uVar24 = (uint)local_32a" identifier = (cast_expression "(uint)local_32a" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }" if (parenthesized_expression "(uVar24 != 0)" ( (binary_expression "uVar24 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (do_statement "do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);" do (compound_statement "{\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);" do (compound_statement "{\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  }" { (expression_statement "bVar16 = pbVar8[uVar13];" (assignment_expression "bVar16 = pbVar8[uVar13]" identifier = (subscript_expression "pbVar8[uVar13]" identifier [ identifier ])) ;) (expression_statement "bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));" (assignment_expression "bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f))" identifier = (call_expression "(byte)(1 << ((byte)uVar22 & 0x1f))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(1 << ((byte)uVar22 & 0x1f))" ( (binary_expression "1 << ((byte)uVar22 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar22 & 0x1f)" ( (binary_expression "(byte)uVar22 & 0x1f" (cast_expression "(byte)uVar22" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (if_statement "if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }" if (parenthesized_expression "((char)bVar16 < '\0')" ( (binary_expression "(char)bVar16 < '\0'" (cast_expression "(char)bVar16" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21" (subscript_expression "pbVar10[uVar13 * 8]" identifier [ (binary_expression "uVar13 * 8" identifier * number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8] | bVar21" (subscript_expression "pbVar10[uVar13 * 8]" identifier [ (binary_expression "uVar13 * 8" identifier * number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 0x40) != 0)" ( (binary_expression "(bVar16 & 0x40) != 0" (parenthesized_expression "(bVar16 & 0x40)" ( (binary_expression "bVar16 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 1]" identifier [ (binary_expression "uVar13 * 8 + 1" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 1] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 1]" identifier [ (binary_expression "uVar13 * 8 + 1" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 0x20) != 0)" ( (binary_expression "(bVar16 & 0x20) != 0" (parenthesized_expression "(bVar16 & 0x20)" ( (binary_expression "bVar16 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 2]" identifier [ (binary_expression "uVar13 * 8 + 2" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 2] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 2]" identifier [ (binary_expression "uVar13 * 8 + 2" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 0x10) != 0)" ( (binary_expression "(bVar16 & 0x10) != 0" (parenthesized_expression "(bVar16 & 0x10)" ( (binary_expression "bVar16 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 3]" identifier [ (binary_expression "uVar13 * 8 + 3" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 3] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 3]" identifier [ (binary_expression "uVar13 * 8 + 3" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 8) != 0)" ( (binary_expression "(bVar16 & 8) != 0" (parenthesized_expression "(bVar16 & 8)" ( (binary_expression "bVar16 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 4]" identifier [ (binary_expression "uVar13 * 8 + 4" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 4] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 4]" identifier [ (binary_expression "uVar13 * 8 + 4" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 4) != 0)" ( (binary_expression "(bVar16 & 4) != 0" (parenthesized_expression "(bVar16 & 4)" ( (binary_expression "bVar16 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 5]" identifier [ (binary_expression "uVar13 * 8 + 5" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 5] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 5]" identifier [ (binary_expression "uVar13 * 8 + 5" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 2) != 0)" ( (binary_expression "(bVar16 & 2) != 0" (parenthesized_expression "(bVar16 & 2)" ( (binary_expression "bVar16 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 6]" identifier [ (binary_expression "uVar13 * 8 + 6" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 6] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 6]" identifier [ (binary_expression "uVar13 * 8 + 6" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (if_statement "if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }" if (parenthesized_expression "((bVar16 & 1) != 0)" ( (binary_expression "(bVar16 & 1) != 0" (parenthesized_expression "(bVar16 & 1)" ( (binary_expression "bVar16 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }" { (expression_statement "pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 7]" identifier [ (binary_expression "uVar13 * 8 + 7" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) = (binary_expression "pbVar10[uVar13 * 8 + 7] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 7]" identifier [ (binary_expression "uVar13 * 8 + 7" (binary_expression "uVar13 * 8" identifier * number_literal) + number_literal) ]) | identifier)) ;) })) (expression_statement "uVar13 = uVar13 + 1;" (assignment_expression "uVar13 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 != uVar24)" ( (binary_expression "uVar13 != uVar24" identifier != identifier) )) ;) (expression_statement "pbVar8 = pbVar8 + uVar24;" (assignment_expression "pbVar8 = pbVar8 + uVar24" identifier = (binary_expression "pbVar8 + uVar24" identifier + identifier)) ;) (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar22 != uVar17)" ( (binary_expression "uVar22 != uVar17" identifier != identifier) )) ;) })) (goto_statement "goto LAB_00269be4;" goto statement_identifier ;) })) (if_statement "if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" if (parenthesized_expression "(local_339 == 2)" ( (binary_expression "local_339 == 2" identifier == number_literal) )) (compound_statement "{\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }" { (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar23 = pbVar10;" (assignment_expression "pbVar23 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) (if_statement "if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }" if (parenthesized_expression "(3 < (int)local_370)" ( (binary_expression "3 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }" { (do_statement "do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));" do (compound_statement "{\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                }" { (expression_statement "pbVar14 = pbVar23 + 4;" (assignment_expression "pbVar14 = pbVar23 + 4" identifier = (binary_expression "pbVar23 + 4" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar19 + 1;" (assignment_expression "pbVar8 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar23 = *pbVar19 >> 6;" (assignment_expression "*pbVar23 = *pbVar19 >> 6" (pointer_expression "*pbVar23" * identifier) = (binary_expression "*pbVar19 >> 6" (pointer_expression "*pbVar19" * identifier) >> number_literal)) ;) (expression_statement "pbVar23[1] = *pbVar19 >> 4 & 3;" (assignment_expression "pbVar23[1] = *pbVar19 >> 4 & 3" (subscript_expression "pbVar23[1]" identifier [ number_literal ]) = (binary_expression "*pbVar19 >> 4 & 3" (binary_expression "*pbVar19 >> 4" (pointer_expression "*pbVar19" * identifier) >> number_literal) & number_literal)) ;) (expression_statement "pbVar23[2] = *pbVar19 >> 2 & 3;" (assignment_expression "pbVar23[2] = *pbVar19 >> 2 & 3" (subscript_expression "pbVar23[2]" identifier [ number_literal ]) = (binary_expression "*pbVar19 >> 2 & 3" (binary_expression "*pbVar19 >> 2" (pointer_expression "*pbVar19" * identifier) >> number_literal) & number_literal)) ;) (expression_statement "pbVar23[3] = *pbVar19 & 3;" (assignment_expression "pbVar23[3] = *pbVar19 & 3" (subscript_expression "pbVar23[3]" identifier [ number_literal ]) = (binary_expression "*pbVar19 & 3" (pointer_expression "*pbVar19" * identifier) & number_literal)) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (expression_statement "pbVar23 = pbVar14;" (assignment_expression "pbVar23 = pbVar14" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) }) while (parenthesized_expression "((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3))" ( (binary_expression "(int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3)" (binary_expression "(int)pbVar14 - (int)pbVar10" (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar10" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)(local_370 - 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_370 - 3)" ( (binary_expression "local_370 - 3" identifier - number_literal) )))) )) ;) })) (if_statement "if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }" if (parenthesized_expression "((local_370 & 3) != 0)" ( (binary_expression "(local_370 & 3) != 0" (parenthesized_expression "(local_370 & 3)" ( (binary_expression "local_370 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }" { (expression_statement "iVar12 = 3;" (assignment_expression "iVar12 = 3" identifier = number_literal) ;) (do_statement "do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);" do (compound_statement "{\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                }" { (expression_statement "cVar3 = (char)iVar12;" (assignment_expression "cVar3 = (char)iVar12" identifier = (cast_expression "(char)iVar12" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;" (assignment_expression "*pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3" (pointer_expression "*pbVar14" * identifier) = (binary_expression "(byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3" (call_expression "(byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU))" ( (binary_expression "(int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)" (binary_expression "(int)(uint)*pbVar8" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> (parenthesized_expression "(cVar3 * '\x02' & 0x1fU)" ( (binary_expression "cVar3 * '\x02' & 0x1fU" (binary_expression "cVar3 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) & number_literal) ))) ))) & number_literal)) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)(4 - (local_370 & 3)) <= iVar12)" ( (binary_expression "(int)(4 - (local_370 & 3)) <= iVar12" (cast_expression "(int)(4 - (local_370 & 3))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(4 - (local_370 & 3))" ( (binary_expression "4 - (local_370 & 3)" number_literal - (parenthesized_expression "(local_370 & 3)" ( (binary_expression "local_370 & 3" identifier & number_literal) ))) ))) <= identifier) )) ;) })) }) (else_clause "else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" else (if_statement "if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" if (parenthesized_expression "(local_339 < 3)" ( (binary_expression "local_339 < 3" identifier < number_literal) )) (compound_statement "{\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }" { (if_statement "if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }" if (parenthesized_expression "(local_339 == 1)" ( (binary_expression "local_339 == 1" identifier == number_literal) )) (compound_statement "{\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }" { (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar23 = pbVar10;" (assignment_expression "pbVar23 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) (if_statement "if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }" if (parenthesized_expression "(7 < (int)local_370)" ( (binary_expression "7 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }" { (do_statement "do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));" do (compound_statement "{\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  }" { (expression_statement "pbVar14 = pbVar23 + 8;" (assignment_expression "pbVar14 = pbVar23 + 8" identifier = (binary_expression "pbVar23 + 8" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar19 + 1;" (assignment_expression "pbVar8 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar23 = *pbVar19 >> 7 ^ 1;" (assignment_expression "*pbVar23 = *pbVar19 >> 7 ^ 1" (pointer_expression "*pbVar23" * identifier) = (binary_expression "*pbVar19 >> 7 ^ 1" (binary_expression "*pbVar19 >> 7" (pointer_expression "*pbVar19" * identifier) >> number_literal) ^ number_literal)) ;) (expression_statement "pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;" (assignment_expression "pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1" (subscript_expression "pbVar23[1]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 6) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 6)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 6)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 6)" ( (binary_expression "(int)(uint)*pbVar19 >> 6" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;" (assignment_expression "pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1" (subscript_expression "pbVar23[2]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 5) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 5)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 5)" ( (binary_expression "(int)(uint)*pbVar19 >> 5" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;" (assignment_expression "pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1" (subscript_expression "pbVar23[3]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 4) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 4)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 4)" ( (binary_expression "(int)(uint)*pbVar19 >> 4" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;" (assignment_expression "pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1" (subscript_expression "pbVar23[4]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 3) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 3)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 3)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 3)" ( (binary_expression "(int)(uint)*pbVar19 >> 3" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;" (assignment_expression "pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1" (subscript_expression "pbVar23[5]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 2) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 2)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 2)" ( (binary_expression "(int)(uint)*pbVar19 >> 2" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;" (assignment_expression "pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1" (subscript_expression "pbVar23[6]" identifier [ number_literal ]) = (binary_expression "~(byte)((int)(uint)*pbVar19 >> 1) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 1)" ~ (call_expression "(byte)((int)(uint)*pbVar19 >> 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar19 >> 1)" ( (binary_expression "(int)(uint)*pbVar19 >> 1" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> number_literal) )))) & number_literal)) ;) (expression_statement "pbVar23[7] = ~*pbVar19 & 1;" (assignment_expression "pbVar23[7] = ~*pbVar19 & 1" (subscript_expression "pbVar23[7]" identifier [ number_literal ]) = (binary_expression "~*pbVar19 & 1" (unary_expression "~*pbVar19" ~ (pointer_expression "*pbVar19" * identifier)) & number_literal)) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (expression_statement "pbVar23 = pbVar14;" (assignment_expression "pbVar23 = pbVar14" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) }) while (parenthesized_expression "((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7))" ( (binary_expression "(int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7)" (binary_expression "(int)pbVar14 - (int)pbVar10" (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar10" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)(local_370 - 7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_370 - 7)" ( (binary_expression "local_370 - 7" identifier - number_literal) )))) )) ;) })) (if_statement "if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }" if (parenthesized_expression "((local_370 & 7) != 0)" ( (binary_expression "(local_370 & 7) != 0" (parenthesized_expression "(local_370 & 7)" ( (binary_expression "local_370 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }" { (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" identifier = number_literal) ;) (do_statement "do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);" do (compound_statement "{\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  }" { (expression_statement "bVar16 = (byte)iVar12;" (assignment_expression "bVar16 = (byte)iVar12" identifier = (cast_expression "(byte)iVar12" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ;) (expression_statement "*pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;" (assignment_expression "*pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1" (pointer_expression "*pbVar14" * identifier) = (binary_expression "~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1" (unary_expression "~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f))" ~ (call_expression "(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)(uint)*pbVar8 >> (bVar16 & 0x1f))" ( (binary_expression "(int)(uint)*pbVar8 >> (bVar16 & 0x1f)" (binary_expression "(int)(uint)*pbVar8" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) >> (parenthesized_expression "(bVar16 & 0x1f)" ( (binary_expression "bVar16 & 0x1f" identifier & number_literal) ))) )))) & number_literal)) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)(8 - (local_370 & 7)) <= iVar12)" ( (binary_expression "(int)(8 - (local_370 & 7)) <= iVar12" (cast_expression "(int)(8 - (local_370 & 7))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(8 - (local_370 & 7))" ( (binary_expression "8 - (local_370 & 7)" number_literal - (parenthesized_expression "(local_370 & 7)" ( (binary_expression "local_370 & 7" identifier & number_literal) ))) ))) <= identifier) )) ;) })) })) }) (else_clause "else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" else (if_statement "if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" if (parenthesized_expression "(local_339 == 4)" ( (binary_expression "local_339 == 4" identifier == number_literal) )) (compound_statement "{\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }" { (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar23 = pbVar10;" (assignment_expression "pbVar23 = pbVar10" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) (if_statement "if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }" if (parenthesized_expression "(1 < (int)local_370)" ( (binary_expression "1 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }" { (do_statement "do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));" do (compound_statement "{\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                }" { (expression_statement "pbVar14 = pbVar23 + 2;" (assignment_expression "pbVar14 = pbVar23 + 2" identifier = (binary_expression "pbVar23 + 2" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar19 + 1;" (assignment_expression "pbVar8 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar23 = *pbVar19 >> 4;" (assignment_expression "*pbVar23 = *pbVar19 >> 4" (pointer_expression "*pbVar23" * identifier) = (binary_expression "*pbVar19 >> 4" (pointer_expression "*pbVar19" * identifier) >> number_literal)) ;) (expression_statement "pbVar23[1] = *pbVar19 & 0xf;" (assignment_expression "pbVar23[1] = *pbVar19 & 0xf" (subscript_expression "pbVar23[1]" identifier [ number_literal ]) = (binary_expression "*pbVar19 & 0xf" (pointer_expression "*pbVar19" * identifier) & number_literal)) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) (expression_statement "pbVar23 = pbVar14;" (assignment_expression "pbVar23 = pbVar14" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" identifier = identifier) ;) }) while (parenthesized_expression "((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1))" ( (binary_expression "(int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1)" (binary_expression "(int)pbVar14 - (int)pbVar10" (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar10" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)(local_370 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_370 - 1)" ( (binary_expression "local_370 - 1" identifier - number_literal) )))) )) ;) })) (if_statement "if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }" if (parenthesized_expression "((local_370 & 1) != 0)" ( (binary_expression "(local_370 & 1) != 0" (parenthesized_expression "(local_370 & 1)" ( (binary_expression "local_370 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }" { (expression_statement "*pbVar14 = *pbVar8 >> 4;" (assignment_expression "*pbVar14 = *pbVar8 >> 4" (pointer_expression "*pbVar14" * identifier) = (binary_expression "*pbVar8 >> 4" (pointer_expression "*pbVar8" * identifier) >> number_literal)) ;) (goto_statement "goto LAB_00269be4;" goto statement_identifier ;) })) }) (else_clause "else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" else (if_statement "if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" if (parenthesized_expression "(local_339 == 8)" ( (binary_expression "local_339 == 8" identifier == number_literal) )) (compound_statement "{\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" { (expression_statement "memcpy(pbVar10,pbVar8,local_370);" (call_expression "memcpy(pbVar10,pbVar8,local_370)" identifier (argument_list "(pbVar10,pbVar8,local_370)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" identifier = (subscript_expression "local_378[6]" identifier [ number_literal ])) ;) })))))))) }))) (expression_statement "fVar4 = DAT_002e814c;" (assignment_expression "fVar4 = DAT_002e814c" identifier = identifier) ;) (if_statement "if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }" if (parenthesized_expression "(0 < (int)local_370)" ( (binary_expression "0 < (int)local_370" number_literal < (cast_expression "(int)local_370" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }" { (expression_statement "sVar20 = 0;" (assignment_expression "sVar20 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = local_378[0xa6];" (assignment_expression "iVar12 = local_378[0xa6]" identifier = (subscript_expression "local_378[0xa6]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = *local_378;" (assignment_expression "iVar1 = *local_378" identifier = (pointer_expression "*local_378" * identifier)) ;) (expression_statement "iVar2 = local_378[0xaa];" (assignment_expression "iVar2 = local_378[0xaa]" identifier = (subscript_expression "local_378[0xaa]" identifier [ number_literal ])) ;) (expression_statement "pbVar8 = pbVar10;" (assignment_expression "pbVar8 = pbVar10" identifier = identifier) ;) (do_statement "do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);" do (compound_statement "{\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            }" { (while_statement "while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }" { (if_statement "if (iVar1 == 2) break;" if (parenthesized_expression "(iVar1 == 2)" ( (binary_expression "iVar1 == 2" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 8) * 8)" * (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 8) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 8) * 8)" ( (binary_expression "iVar26 + *(int *)(iVar2 + 8) * 8" identifier + (binary_expression "*(int *)(iVar2 + 8) * 8" (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)((float)*pbVar8 * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*pbVar8 * fVar4)" ( (binary_expression "(float)*pbVar8 * fVar4" (cast_expression "(float)*pbVar8" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*pbVar8" * identifier)) * identifier) )))) ;) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8)" * (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x14) * 8)" ( (binary_expression "iVar26 + *(int *)(iVar2 + 0x14) * 8" identifier + (binary_expression "*(int *)(iVar2 + 0x14) * 8" (pointer_expression "*(int *)(iVar2 + 0x14)" * (cast_expression "(int *)(iVar2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)((float)pbVar8[1] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar8[1] * fVar4)" ( (binary_expression "(float)pbVar8[1] * fVar4" (cast_expression "(float)pbVar8[1]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar8[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8)" * (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x20) * 8)" ( (binary_expression "iVar26 + *(int *)(iVar2 + 0x20) * 8" identifier + (binary_expression "*(int *)(iVar2 + 0x20) * 8" (pointer_expression "*(int *)(iVar2 + 0x20)" * (cast_expression "(int *)(iVar2 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x20)" ( (binary_expression "iVar2 + 0x20" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)((float)pbVar8[2] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar8[2] * fVar4)" ( (binary_expression "(float)pbVar8[2] * fVar4" (cast_expression "(float)pbVar8[2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar8[2]" identifier [ number_literal ])) * identifier) )))) ;) (if_statement "if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }" if (parenthesized_expression "(local_378[0xa5] == 0)" ( (binary_expression "local_378[0xa5] == 0" (subscript_expression "local_378[0xa5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  pbVar14 = pbVar8 + 3;\n                }" { (expression_statement "pbVar14 = pbVar8 + 3;" (assignment_expression "pbVar14 = pbVar8 + 3" identifier = (binary_expression "pbVar8 + 3" identifier + number_literal)) ;) }) (else_clause "else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }" else (compound_statement "{\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }" { (expression_statement "pbVar14 = pbVar8 + 4;" (assignment_expression "pbVar14 = pbVar8 + 4" identifier = (binary_expression "pbVar8 + 4" identifier + number_literal)) ;) (if_statement "if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }" if (parenthesized_expression "(*(int *)(iVar2 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar2 + 0x34) != 0" (pointer_expression "*(int *)(iVar2 + 0x34)" * (cast_expression "(int *)(iVar2 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x34)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }" { (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8)" * (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x38) * 8)" ( (binary_expression "iVar26 + *(int *)(iVar2 + 0x38) * 8" identifier + (binary_expression "*(int *)(iVar2 + 0x38) * 8" (pointer_expression "*(int *)(iVar2 + 0x38)" * (cast_expression "(int *)(iVar2 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x38)" ( (binary_expression "iVar2 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)((float)pbVar8[3] * fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)pbVar8[3] * fVar4)" ( (binary_expression "(float)pbVar8[3] * fVar4" (cast_expression "(float)pbVar8[3]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pbVar8[3]" identifier [ number_literal ])) * identifier) )))) ;) })) }))) (labeled_statement "LAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;" statement_identifier : (expression_statement "iVar26 = iVar26 + iVar12 * 8;" (assignment_expression "iVar26 = iVar26 + iVar12 * 8" identifier = (binary_expression "iVar26 + iVar12 * 8" identifier + (binary_expression "iVar12 * 8" identifier * number_literal))) ;)) (expression_statement "sVar20 = sVar20 + 1;" (assignment_expression "sVar20 = sVar20 + 1" identifier = (binary_expression "sVar20 + 1" identifier + number_literal)) ;) (expression_statement "pbVar8 = pbVar14;" (assignment_expression "pbVar8 = pbVar14" identifier = identifier) ;) (if_statement "if (sVar20 == local_370) goto LAB_00269cce;" if (parenthesized_expression "(sVar20 == local_370)" ( (binary_expression "sVar20 == local_370" identifier == identifier) )) (goto_statement "goto LAB_00269cce;" goto statement_identifier ;)) })) (expression_statement "pbVar14 = pbVar8 + 1;" (assignment_expression "pbVar14 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (if_statement "if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;" if (parenthesized_expression "(*(int *)(iVar2 + 0x40) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x40) == 0" (pointer_expression "*(int *)(iVar2 + 0x40)" * (cast_expression "(int *)(iVar2 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x40)" ( (binary_expression "iVar2 + 0x40" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00269c86;" goto statement_identifier ;)) (expression_statement "sVar20 = sVar20 + 1;" (assignment_expression "sVar20 = sVar20 + 1" identifier = (binary_expression "sVar20 + 1" identifier + number_literal)) ;) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8)" * (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x44) * 8)" ( (binary_expression "iVar26 + *(int *)(iVar2 + 0x44) * 8" identifier + (binary_expression "*(int *)(iVar2 + 0x44) * 8" (pointer_expression "*(int *)(iVar2 + 0x44)" * (cast_expression "(int *)(iVar2 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x44)" ( (binary_expression "iVar2 + 0x44" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(double)*pbVar8" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*pbVar8" * identifier))) ;) (expression_statement "iVar26 = iVar26 + iVar12 * 8;" (assignment_expression "iVar26 = iVar26 + iVar12 * 8" identifier = (binary_expression "iVar26 + iVar12 * 8" identifier + (binary_expression "iVar12 * 8" identifier * number_literal))) ;) (expression_statement "pbVar8 = pbVar14;" (assignment_expression "pbVar8 = pbVar14" identifier = identifier) ;) }) while (parenthesized_expression "(sVar20 != local_370)" ( (binary_expression "sVar20 != local_370" identifier != identifier) )) ;) })) (labeled_statement "LAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);" statement_identifier : (expression_statement "iVar26 = SyncAuthenticPixels(local_378,param_2);" (assignment_expression "iVar26 = SyncAuthenticPixels(local_378,param_2)" identifier = (call_expression "SyncAuthenticPixels(local_378,param_2)" identifier (argument_list "(local_378,param_2)" ( identifier , identifier )))) ;)) (if_statement "if (iVar26 == 0) break;" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar26 = local_378[7];" (assignment_expression "iVar26 = local_378[7]" identifier = (subscript_expression "local_378[7]" identifier [ number_literal ])) ;) (if_statement "if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }" if (parenthesized_expression "(local_378[0xccf] == 0)" ( (binary_expression "local_378[0xccf] == 0" (subscript_expression "local_378[0xccf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }" { (expression_statement "local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);" (assignment_expression "local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0)" identifier = (call_expression "SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0)" identifier (argument_list "(local_378,"Load/Image",local_34c,local_348,iVar26,0)" ( identifier , (string_literal ""Load/Image"" " string_content ") , identifier , identifier , identifier , number_literal )))) ;) (if_statement "if (local_350 == 0) break;" if (parenthesized_expression "(local_350 == 0)" ( (binary_expression "local_350 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar26 = local_378[7];" (assignment_expression "iVar26 = local_378[7]" identifier = (subscript_expression "local_378[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_364 = local_364 + 1;" (assignment_expression "local_364 = local_364 + 1" identifier = (binary_expression "local_364 + 1" identifier + number_literal)) ;) (expression_statement "bVar27 = 0xfffffffe < local_34c;" (assignment_expression "bVar27 = 0xfffffffe < local_34c" identifier = (binary_expression "0xfffffffe < local_34c" number_literal < identifier)) ;) (expression_statement "local_34c = local_34c + 1;" (assignment_expression "local_34c = local_34c + 1" identifier = (binary_expression "local_34c + 1" identifier + number_literal)) ;) (expression_statement "local_348 = local_348 + (uint)bVar27;" (assignment_expression "local_348 = local_348 + (uint)bVar27" identifier = (binary_expression "local_348 + (uint)bVar27" identifier + (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_364 < iVar26)" ( (binary_expression "local_364 < iVar26" identifier < identifier) )) ;) })) (if_statement "if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }" if (parenthesized_expression "(*local_378 == 2)" ( (binary_expression "*local_378 == 2" (pointer_expression "*local_378" * identifier) == number_literal) )) (compound_statement "{\n        SyncImage(local_378,param_2);\n      }" { (expression_statement "SyncImage(local_378,param_2);" (call_expression "SyncImage(local_378,param_2)" identifier (argument_list "(local_378,param_2)" ( identifier , identifier ))) ;) })) (expression_statement "local_364 = RelinquishMagickMemory(pbVar10);" (assignment_expression "local_364 = RelinquishMagickMemory(pbVar10)" identifier = (call_expression "RelinquishMagickMemory(pbVar10)" identifier (argument_list "(pbVar10)" ( identifier )))) ;) (expression_statement "local_36c = RelinquishVirtualMemory(iVar6);" (assignment_expression "local_36c = RelinquishVirtualMemory(iVar6)" identifier = (call_expression "RelinquishVirtualMemory(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "iVar6 = EOFBlob(local_378);" (assignment_expression "iVar6 = EOFBlob(local_378)" identifier = (call_expression "EOFBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }" { (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = GetExceptionMessage(*piVar9);" (assignment_expression "uVar7 = GetExceptionMessage(*piVar9)" identifier = (call_expression "GetExceptionMessage(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7)" identifier (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7)" ( identifier , (string_literal ""coders/pcx.c"" " string_content ") , (string_literal ""ReadPCXImage"" " string_content ") , number_literal , number_literal , (string_literal ""UnexpectedEndOfFile"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , (binary_expression "local_378 + 0xc6" identifier + number_literal) , identifier ))) ;) (expression_statement "DestroyString(uVar7);" (call_expression "DestroyString(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (labeled_statement "LAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;" statement_identifier : (if_statement "if (local_360 == (int *)0x0) goto LAB_0026a58c;" if (parenthesized_expression "(local_360 == (int *)0x0)" ( (binary_expression "local_360 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0026a58c;" goto statement_identifier ;))) (break_statement "break;" break ;) })) (if_statement "if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;" if (parenthesized_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))" ( (binary_expression "(*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" ( (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) - number_literal) <= (cast_expression "(uint)local_378[0x91]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_378[0x91]" identifier [ number_literal ]))) ))) )) (goto_statement "goto LAB_0026aa7e;" goto statement_identifier ;)) (if_statement "if (local_360 == (int *)0x0) goto LAB_0026a58c;" if (parenthesized_expression "(local_360 == (int *)0x0)" ( (binary_expression "local_360 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0026a58c;" goto statement_identifier ;)) (if_statement "if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;" if (parenthesized_expression "(local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0)" ( (binary_expression "local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0" (binary_expression "local_360[local_344 * 2 + 1] == 0" (subscript_expression "local_360[local_344 * 2 + 1]" identifier [ (binary_expression "local_344 * 2 + 1" (binary_expression "local_344 * 2" identifier * number_literal) + number_literal) ]) == number_literal) && (binary_expression "local_360[local_344 * 2] == 0" (subscript_expression "local_360[local_344 * 2]" identifier [ (binary_expression "local_344 * 2" identifier * number_literal) ]) == number_literal)) )) (break_statement "break;" break ;)) (expression_statement "SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);" (call_expression "SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0)" identifier (argument_list "(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0)" ( identifier , (subscript_expression "local_360[local_344 * 2]" identifier [ (binary_expression "local_344 * 2" identifier * number_literal) ]) , (subscript_expression "local_360[local_344 * 2 + 1]" identifier [ (binary_expression "local_344 * 2 + 1" (binary_expression "local_344 * 2" identifier * number_literal) + number_literal) ]) , number_literal ))) ;) (if_statement "if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }" if (parenthesized_expression "(extraout_EDX_00 < 0)" ( (binary_expression "extraout_EDX_00 < 0" identifier < number_literal) )) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }" { (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" if (parenthesized_expression "(local_364 != 0)" ( (binary_expression "local_364 != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" { (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" identifier (argument_list "(local_364)" ( identifier ))) ;) })) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" if (parenthesized_expression "(local_36c != 0)" ( (binary_expression "local_36c != 0" identifier != number_literal) )) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" { (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" identifier (argument_list "(local_36c)" ( identifier ))) ;) })) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar31 = 0x2a4;" (assignment_expression "uVar31 = 0x2a4" identifier = number_literal) ;) (goto_statement "goto LAB_00269ff0;" goto statement_identifier ;) })) (expression_statement "iVar6 = ReadBlob(local_378,1,&local_33c);" (assignment_expression "iVar6 = ReadBlob(local_378,1,&local_33c)" identifier = (call_expression "ReadBlob(local_378,1,&local_33c)" identifier (argument_list "(local_378,1,&local_33c)" ( identifier , number_literal , (pointer_expression "&local_33c" & identifier) )))) ;) (if_statement "if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }" if (parenthesized_expression "((iVar6 != 0) && (local_33c == '\n'))" ( (binary_expression "(iVar6 != 0) && (local_33c == '\n')" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_33c == '\n')" ( (binary_expression "local_33c == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }" { (expression_statement "AcquireNextImage(param_1,local_378,param_2);" (call_expression "AcquireNextImage(param_1,local_378,param_2)" identifier (argument_list "(param_1,local_378,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar26 = GetNextImageInList(local_378);" (assignment_expression "iVar26 = GetNextImageInList(local_378)" identifier = (call_expression "GetNextImageInList(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (if_statement "if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (compound_statement "{\n          local_350 = 0;\n          break;\n        }" { (expression_statement "local_350 = 0;" (assignment_expression "local_350 = 0" identifier = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "local_378 = (int *)SyncNextImageInList(local_378);" (assignment_expression "local_378 = (int *)SyncNextImageInList(local_378)" identifier = (cast_expression "(int *)SyncNextImageInList(local_378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "SyncNextImageInList(local_378)" identifier (argument_list "(local_378)" ( identifier ))))) ;) (expression_statement "uVar29 = GetBlobSize(local_378);" (assignment_expression "uVar29 = GetBlobSize(local_378)" identifier = (call_expression "GetBlobSize(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "uVar30 = TellBlob(local_378);" (assignment_expression "uVar30 = TellBlob(local_378)" identifier = (call_expression "TellBlob(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) (expression_statement "local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);" (assignment_expression "local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29)" identifier = (call_expression "SetImageProgress(local_378,"Load/Images",uVar30,uVar29)" identifier (argument_list "(local_378,"Load/Images",uVar30,uVar29)" ( identifier , (string_literal ""Load/Images"" " string_content ") , identifier , identifier )))) ;) (if_statement "if (local_350 == 0) break;" if (parenthesized_expression "(local_350 == 0)" ( (binary_expression "local_350 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "local_344 = local_344 + 1;" (assignment_expression "local_344 = local_344 + 1" identifier = (binary_expression "local_344 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_344 != 0x400)" ( (binary_expression "local_344 != 0x400" identifier != number_literal) )) ;) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" identifier (argument_list "(local_360)" ( identifier ))) ;) (labeled_statement "LAB_0026a58c:\n    CloseBlob(local_378);" statement_identifier : (expression_statement "CloseBlob(local_378);" (call_expression "CloseBlob(local_378)" identifier (argument_list "(local_378)" ( identifier ))) ;)) (if_statement "if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }" if (parenthesized_expression "(local_350 == 0)" ( (binary_expression "local_350 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar7 = DestroyImageList(local_378);\n    }" { (expression_statement "uVar7 = DestroyImageList(local_378);" (assignment_expression "uVar7 = DestroyImageList(local_378)" identifier = (call_expression "DestroyImageList(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) }) (else_clause "else {\n      uVar7 = GetFirstImageInList(local_378);\n    }" else (compound_statement "{\n      uVar7 = GetFirstImageInList(local_378);\n    }" { (expression_statement "uVar7 = GetFirstImageInList(local_378);" (assignment_expression "uVar7 = GetFirstImageInList(local_378)" identifier = (call_expression "GetFirstImageInList(local_378)" identifier (argument_list "(local_378)" ( identifier )))) ;) }))) }))) (labeled_statement "LAB_002690c4:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_002decd0();\n  }" { (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (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) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , IDENT , IDENT , (string_literal " string_content escape_sequence ") , (binary_expression IDENT + LIT) ))) ;)) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , (binary_expression IDENT + LIT) ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , (binary_expression IDENT + LIT) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - LIT) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT * IDENT) ))) / LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , IDENT , IDENT , (string_literal " string_content escape_sequence ") , (binary_expression IDENT + LIT) ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (subscript_expression IDENT [ LIT ]) * LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * LIT) != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) == LIT) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) * IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (binary_expression IDENT * LIT))) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT / IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT / IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) * (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) <= IDENT) && (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) != LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) + LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression IDENT * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression IDENT * LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (for_statement for ( ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT - LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }) (else_clause else (compound_statement { (for_statement for ( ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT - LIT)) ) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) })) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))) << LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (subscript_expression IDENT [ LIT ]) * LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) * IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (binary_expression IDENT * LIT))) )) ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))))))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (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 (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) = (binary_expression (subscript_expression IDENT [ (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 (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) | IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) | IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) | IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) | IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) | IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) | IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) | IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) >> LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (pointer_expression * IDENT) >> LIT) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (pointer_expression * IDENT) >> LIT) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) )))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) >> (parenthesized_expression ( (binary_expression (binary_expression IDENT * (char_literal ' escape_sequence ')) & LIT) ))) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT & LIT) ))) ))) <= IDENT) )) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) >> LIT) ^ LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (unary_expression ~ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) >> LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (unary_expression ~ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) >> LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (unary_expression ~ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) >> LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (unary_expression ~ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) >> LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (unary_expression ~ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) >> LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (unary_expression ~ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) >> LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (unary_expression ~ (pointer_expression * IDENT)) & LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) )))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (unary_expression ~ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT & LIT) ))) ))) <= IDENT) )) ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) >> LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) )))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) >> LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })))))))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) * IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * IDENT) )))) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " escape_sequence string_content escape_sequence string_content ") , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) (break_statement break ;) })) (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 (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - LIT) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) == LIT) && (binary_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) == LIT)) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) , (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) , 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 ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 FUN_00268f70(int param_1,undefined4 *param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  char cVar3;\n  float fVar4;\n  undefined1 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  byte *pbVar8;\n  int *piVar9;\n  byte *pbVar10;\n  undefined1 *__s;\n  undefined1 *puVar11;\n  int iVar12;\n  uint uVar13;\n  byte *pbVar14;\n  double *pdVar15;\n  byte bVar16;\n  uint uVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  int extraout_EDX;\n  size_t sVar20;\n  int extraout_EDX_00;\n  byte bVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined1 *puVar25;\n  int iVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  byte bVar28;\n  undefined8 uVar29;\n  undefined8 uVar30;\n  undefined4 uVar31;\n  char *pcVar32;\n  int *local_378;\n  size_t local_370;\n  int local_36c;\n  int local_364;\n  int *local_360;\n  int local_358;\n  int local_350;\n  uint local_34c;\n  int local_348;\n  int local_344;\n  char local_33c;\n  char local_33b;\n  char local_33a;\n  byte local_339;\n  ushort local_338;\n  ushort local_336;\n  ushort local_334;\n  ushort local_332;\n  ushort local_330;\n  ushort local_32e;\n  undefined1 local_32c;\n  byte local_32b;\n  ushort local_32a;\n  undefined2 local_328;\n  undefined2 local_326;\n  undefined2 local_324;\n  undefined1 local_322;\n  byte local_320 [768];\n  int local_20;\n  \n  bVar28 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }\n  local_378 = (int *)AcquireImage(param_1,param_2);\n  local_350 = OpenBlob(param_1,local_378,2,param_2);\n  if (local_350 == 0) {\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }\n  iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);\n  if (iVar6 == 0) {\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }\n  else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }\nLAB_002690c4:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }\n  return uVar7;\n}" (type_identifier "undefined4") (function_declarator "FUN_00268f70(int param_1,undefined4 *param_2)" (identifier "FUN_00268f70") (parameter_list "(int param_1,undefined4 *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  char cVar3;\n  float fVar4;\n  undefined1 uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  byte *pbVar8;\n  int *piVar9;\n  byte *pbVar10;\n  undefined1 *__s;\n  undefined1 *puVar11;\n  int iVar12;\n  uint uVar13;\n  byte *pbVar14;\n  double *pdVar15;\n  byte bVar16;\n  uint uVar17;\n  undefined1 *puVar18;\n  byte *pbVar19;\n  int extraout_EDX;\n  size_t sVar20;\n  int extraout_EDX_00;\n  byte bVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined1 *puVar25;\n  int iVar26;\n  int in_GS_OFFSET;\n  bool bVar27;\n  byte bVar28;\n  undefined8 uVar29;\n  undefined8 uVar30;\n  undefined4 uVar31;\n  char *pcVar32;\n  int *local_378;\n  size_t local_370;\n  int local_36c;\n  int local_364;\n  int *local_360;\n  int local_358;\n  int local_350;\n  uint local_34c;\n  int local_348;\n  int local_344;\n  char local_33c;\n  char local_33b;\n  char local_33a;\n  byte local_339;\n  ushort local_338;\n  ushort local_336;\n  ushort local_334;\n  ushort local_332;\n  ushort local_330;\n  ushort local_32e;\n  undefined1 local_32c;\n  byte local_32b;\n  ushort local_32a;\n  undefined2 local_328;\n  undefined2 local_326;\n  undefined2 local_324;\n  undefined1 local_322;\n  byte local_320 [768];\n  int local_20;\n  \n  bVar28 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }\n  if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }\n  local_378 = (int *)AcquireImage(param_1,param_2);\n  local_350 = OpenBlob(param_1,local_378,2,param_2);\n  if (local_350 == 0) {\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }\n  iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);\n  if (iVar6 == 0) {\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }\n  else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }\nLAB_002690c4:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }\n  return uVar7;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "float fVar4;" (primitive_type "float") (identifier "fVar4") (; ";")) (declaration "undefined1 uVar5;" (type_identifier "undefined1") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "byte *pbVar10;" (type_identifier "byte") (pointer_declarator "*pbVar10" (* "*") (identifier "pbVar10")) (; ";")) (declaration "undefined1 *__s;" (type_identifier "undefined1") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "undefined1 *puVar11;" (type_identifier "undefined1") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "byte *pbVar14;" (type_identifier "byte") (pointer_declarator "*pbVar14" (* "*") (identifier "pbVar14")) (; ";")) (declaration "double *pdVar15;" (primitive_type "double") (pointer_declarator "*pdVar15" (* "*") (identifier "pdVar15")) (; ";")) (declaration "byte bVar16;" (type_identifier "byte") (identifier "bVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "undefined1 *puVar18;" (type_identifier "undefined1") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "int extraout_EDX;" (primitive_type "int") (identifier "extraout_EDX") (; ";")) (declaration "size_t sVar20;" (primitive_type "size_t") (identifier "sVar20") (; ";")) (declaration "int extraout_EDX_00;" (primitive_type "int") (identifier "extraout_EDX_00") (; ";")) (declaration "byte bVar21;" (type_identifier "byte") (identifier "bVar21") (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "byte *pbVar23;" (type_identifier "byte") (pointer_declarator "*pbVar23" (* "*") (identifier "pbVar23")) (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "undefined1 *puVar25;" (type_identifier "undefined1") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "int iVar26;" (primitive_type "int") (identifier "iVar26") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar27;" (primitive_type "bool") (identifier "bVar27") (; ";")) (declaration "byte bVar28;" (type_identifier "byte") (identifier "bVar28") (; ";")) (declaration "undefined8 uVar29;" (type_identifier "undefined8") (identifier "uVar29") (; ";")) (declaration "undefined8 uVar30;" (type_identifier "undefined8") (identifier "uVar30") (; ";")) (declaration "undefined4 uVar31;" (type_identifier "undefined4") (identifier "uVar31") (; ";")) (declaration "char *pcVar32;" (primitive_type "char") (pointer_declarator "*pcVar32" (* "*") (identifier "pcVar32")) (; ";")) (declaration "int *local_378;" (primitive_type "int") (pointer_declarator "*local_378" (* "*") (identifier "local_378")) (; ";")) (declaration "size_t local_370;" (primitive_type "size_t") (identifier "local_370") (; ";")) (declaration "int local_36c;" (primitive_type "int") (identifier "local_36c") (; ";")) (declaration "int local_364;" (primitive_type "int") (identifier "local_364") (; ";")) (declaration "int *local_360;" (primitive_type "int") (pointer_declarator "*local_360" (* "*") (identifier "local_360")) (; ";")) (declaration "int local_358;" (primitive_type "int") (identifier "local_358") (; ";")) (declaration "int local_350;" (primitive_type "int") (identifier "local_350") (; ";")) (declaration "uint local_34c;" (type_identifier "uint") (identifier "local_34c") (; ";")) (declaration "int local_348;" (primitive_type "int") (identifier "local_348") (; ";")) (declaration "int local_344;" (primitive_type "int") (identifier "local_344") (; ";")) (declaration "char local_33c;" (primitive_type "char") (identifier "local_33c") (; ";")) (declaration "char local_33b;" (primitive_type "char") (identifier "local_33b") (; ";")) (declaration "char local_33a;" (primitive_type "char") (identifier "local_33a") (; ";")) (declaration "byte local_339;" (type_identifier "byte") (identifier "local_339") (; ";")) (declaration "ushort local_338;" (type_identifier "ushort") (identifier "local_338") (; ";")) (declaration "ushort local_336;" (type_identifier "ushort") (identifier "local_336") (; ";")) (declaration "ushort local_334;" (type_identifier "ushort") (identifier "local_334") (; ";")) (declaration "ushort local_332;" (type_identifier "ushort") (identifier "local_332") (; ";")) (declaration "ushort local_330;" (type_identifier "ushort") (identifier "local_330") (; ";")) (declaration "ushort local_32e;" (type_identifier "ushort") (identifier "local_32e") (; ";")) (declaration "undefined1 local_32c;" (type_identifier "undefined1") (identifier "local_32c") (; ";")) (declaration "byte local_32b;" (type_identifier "byte") (identifier "local_32b") (; ";")) (declaration "ushort local_32a;" (type_identifier "ushort") (identifier "local_32a") (; ";")) (declaration "undefined2 local_328;" (type_identifier "undefined2") (identifier "local_328") (; ";")) (declaration "undefined2 local_326;" (type_identifier "undefined2") (identifier "local_326") (; ";")) (declaration "undefined2 local_324;" (type_identifier "undefined2") (identifier "local_324") (; ";")) (declaration "undefined1 local_322;" (type_identifier "undefined1") (identifier "local_322") (; ";")) (declaration "byte local_320 [768];" (type_identifier "byte") (array_declarator "local_320 [768]" (identifier "local_320") ([ "[") (number_literal "768") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (expression_statement "bVar28 = 0;" (assignment_expression "bVar28 = 0" (identifier "bVar28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");\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/pcx.c",0x10b,"ReadPCXImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage")" (identifier "__assert_fail") (argument_list "("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage")" (( "(") (string_literal ""image_info != (const ImageInfo *) NULL"" (" """) (string_content "image_info != (const ImageInfo *) NULL") (" """)) (, ",") (string_literal ""coders/pcx.c"" (" """) (string_content "coders/pcx.c") (" """)) (, ",") (number_literal "0x10b") (, ",") (string_literal ""ReadPCXImage"" (" """) (string_content "ReadPCXImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x31f4) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x31f4) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x31f4)" (* "*") (cast_expression "(int *)(param_1 + 0x31f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x31f4)" (( "(") (binary_expression "param_1 + 0x31f4" (identifier "param_1") (+ "+") (number_literal "0x31f4")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );\n  }" ({ "{") (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 );" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 )" (identifier "__assert_fail") (argument_list "("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"\n                 )" (( "(") (string_literal ""image_info->signature == MagickCoreSignature"" (" """) (string_content "image_info->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/pcx.c"" (" """) (string_content "coders/pcx.c") (" """)) (, ",") (number_literal "0x10c") (, ",") (string_literal ""ReadPCXImage"" (" """) (string_content "ReadPCXImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x31f0) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x31f0) != 0" (pointer_expression "*(int *)(param_1 + 0x31f0)" (* "*") (cast_expression "(int *)(param_1 + 0x31f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x31f0)" (( "(") (binary_expression "param_1 + 0x31f0" (identifier "param_1") (+ "+") (number_literal "0x31f0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);\n  }" ({ "{") (expression_statement "LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0)" (identifier "LogMagickEvent") (argument_list "(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0)" (( "(") (number_literal "0x8000") (, ",") (string_literal ""coders/pcx.c"" (" """) (string_content "coders/pcx.c") (" """)) (, ",") (string_literal ""ReadPCXImage"" (" """) (string_content "ReadPCXImage") (" """)) (, ",") (number_literal "0x10e") (, ",") (pointer_expression "&DAT_002f75ae" (& "&") (identifier "DAT_002f75ae")) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }" (if "if") (parenthesized_expression "(param_2 == (undefined4 *)0x0)" (( "(") (binary_expression "param_2 == (undefined4 *)0x0" (identifier "param_2") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage")" (identifier "__assert_fail") (argument_list "("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage")" (( "(") (string_literal ""exception != (ExceptionInfo *) NULL"" (" """) (string_content "exception != (ExceptionInfo *) NULL") (" """)) (, ",") (string_literal ""coders/pcx.c"" (" """) (string_content "coders/pcx.c") (" """)) (, ",") (number_literal "0x110") (, ",") (string_literal ""ReadPCXImage"" (" """) (string_content "ReadPCXImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2[7] != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }" (if "if") (parenthesized_expression "(param_2[7] != -0x54535255)" (( "(") (binary_expression "param_2[7] != -0x54535255" (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;\n  }" ({ "{") (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")\n    ;" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")" (identifier "__assert_fail") (argument_list "("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")" (( "(") (string_literal ""exception->signature == MagickCoreSignature"" (" """) (string_content "exception->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/pcx.c"" (" """) (string_content "coders/pcx.c") (" """)) (, ",") (number_literal "0x111") (, ",") (string_literal ""ReadPCXImage"" (" """) (string_content "ReadPCXImage") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_378 = (int *)AcquireImage(param_1,param_2);" (assignment_expression "local_378 = (int *)AcquireImage(param_1,param_2)" (identifier "local_378") (= "=") (cast_expression "(int *)AcquireImage(param_1,param_2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireImage(param_1,param_2)" (identifier "AcquireImage") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "local_350 = OpenBlob(param_1,local_378,2,param_2);" (assignment_expression "local_350 = OpenBlob(param_1,local_378,2,param_2)" (identifier "local_350") (= "=") (call_expression "OpenBlob(param_1,local_378,2,param_2)" (identifier "OpenBlob") (argument_list "(param_1,local_378,2,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "local_378") (, ",") (number_literal "2") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (local_350 == 0) {\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }" (if "if") (parenthesized_expression "(local_350 == 0)" (( "(") (binary_expression "local_350 == 0" (identifier "local_350") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    DestroyImageList(local_378);\n    uVar7 = 0;\n    goto LAB_002690c4;\n  }" ({ "{") (expression_statement "DestroyImageList(local_378);" (call_expression "DestroyImageList(local_378)" (identifier "DestroyImageList") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")"))) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_002690c4;" (goto "goto") (statement_identifier "LAB_002690c4") (; ";")) (} "}"))) (expression_statement "iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);" (assignment_expression "iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566)" (identifier "iVar6") (= "=") (call_expression "LocaleCompare(param_1 + 0x1f0,&DAT_002e2566)" (identifier "LocaleCompare") (argument_list "(param_1 + 0x1f0,&DAT_002e2566)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) (, ",") (pointer_expression "&DAT_002e2566" (& "&") (identifier "DAT_002e2566")) () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }\n  else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar6 = ReadBlobLSBLong(local_378);\n    if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }\n    if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }\n    uVar7 = 0;\n  }" ({ "{") (expression_statement "iVar6 = ReadBlobLSBLong(local_378);" (assignment_expression "iVar6 = ReadBlobLSBLong(local_378)" (identifier "iVar6") (= "=") (call_expression "ReadBlobLSBLong(local_378)" (identifier "ReadBlobLSBLong") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if (iVar6 == 0x3ade68b1) {\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }\n    else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }" (if "if") (parenthesized_expression "(iVar6 == 0x3ade68b1)" (( "(") (binary_expression "iVar6 == 0x3ade68b1" (identifier "iVar6") (== "==") (number_literal "0x3ade68b1")) () ")")) (compound_statement "{\n      local_360 = (int *)AcquireQuantumMemory(0x400,8);\n      piVar9 = local_360;\n      if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }\n    }" ({ "{") (expression_statement "local_360 = (int *)AcquireQuantumMemory(0x400,8);" (assignment_expression "local_360 = (int *)AcquireQuantumMemory(0x400,8)" (identifier "local_360") (= "=") (cast_expression "(int *)AcquireQuantumMemory(0x400,8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireQuantumMemory(0x400,8)" (identifier "AcquireQuantumMemory") (argument_list "(0x400,8)" (( "(") (number_literal "0x400") (, ",") (number_literal "8") () ")"))))) (; ";")) (expression_statement "piVar9 = local_360;" (assignment_expression "piVar9 = local_360" (identifier "piVar9") (= "=") (identifier "local_360")) (; ";")) (if_statement "if (local_360 == (int *)0x0) {\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }\n      else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }" (if "if") (parenthesized_expression "(local_360 == (int *)0x0)" (( "(") (binary_expression "local_360 == (int *)0x0" (identifier "local_360") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pcVar32 = "MemoryAllocationFailed";\n        uVar31 = 400;\n        uVar7 = 0x12d;\nLAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n      }" ({ "{") (expression_statement "pcVar32 = "MemoryAllocationFailed";" (assignment_expression "pcVar32 = "MemoryAllocationFailed"" (identifier "pcVar32") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "uVar31 = 400;" (assignment_expression "uVar31 = 400" (identifier "uVar31") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar7 = 0x12d;" (assignment_expression "uVar7 = 0x12d" (identifier "uVar7") (= "=") (number_literal "0x12d")) (; ";")) (labeled_statement "LAB_0026a2c8:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" (statement_identifier "LAB_0026a2c8") (: ":") (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/pcx.c"" (" """) (string_content "coders/pcx.c") (" """)) (, ",") (string_literal ""ReadPCXImage"" (" """) (string_content "ReadPCXImage") (" """)) (, ",") (identifier "uVar7") (, ",") (identifier "uVar31") (, ",") (identifier "pcVar32") (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";"))) (} "}")) (else_clause "else {\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }" (else "else") (compound_statement "{\n        do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);\n        SeekBlob(local_378,*local_360,local_360[1],0);\n        if (-1 < extraout_EDX) goto LAB_0026919c;\n        RelinquishMagickMemory(local_360);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);\n      }" ({ "{") (do_statement "do {\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        } while (piVar9 != local_360 + 0x800);" (do "do") (compound_statement "{\n          iVar6 = ReadBlobLSBLong(local_378);\n          piVar9[1] = 0;\n          *piVar9 = iVar6;\n          if (iVar6 == 0) break;\n          piVar9 = piVar9 + 2;\n        }" ({ "{") (expression_statement "iVar6 = ReadBlobLSBLong(local_378);" (assignment_expression "iVar6 = ReadBlobLSBLong(local_378)" (identifier "iVar6") (= "=") (call_expression "ReadBlobLSBLong(local_378)" (identifier "ReadBlobLSBLong") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar9 = iVar6;" (assignment_expression "*piVar9 = iVar6" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (iVar6 == 0) break;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar9 = piVar9 + 2;" (assignment_expression "piVar9 = piVar9 + 2" (identifier "piVar9") (= "=") (binary_expression "piVar9 + 2" (identifier "piVar9") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar9 != local_360 + 0x800)" (( "(") (binary_expression "piVar9 != local_360 + 0x800" (identifier "piVar9") (!= "!=") (binary_expression "local_360 + 0x800" (identifier "local_360") (+ "+") (number_literal "0x800"))) () ")")) (; ";")) (expression_statement "SeekBlob(local_378,*local_360,local_360[1],0);" (call_expression "SeekBlob(local_378,*local_360,local_360[1],0)" (identifier "SeekBlob") (argument_list "(local_378,*local_360,local_360[1],0)" (( "(") (identifier "local_378") (, ",") (pointer_expression "*local_360" (* "*") (identifier "local_360")) (, ",") (subscript_expression "local_360[1]" (identifier "local_360") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (-1 < extraout_EDX) goto LAB_0026919c;" (if "if") (parenthesized_expression "(-1 < extraout_EDX)" (( "(") (binary_expression "-1 < extraout_EDX" (number_literal "-1") (< "<") (identifier "extraout_EDX")) () ")")) (goto_statement "goto LAB_0026919c;" (goto "goto") (statement_identifier "LAB_0026919c") (; ";"))) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",\n                   param_1 + 0x21f0)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/pcx.c"" (" """) (string_content "coders/pcx.c") (" """)) (, ",") (string_literal ""ReadPCXImage"" (" """) (string_content "ReadPCXImage") (" """)) (, ",") (number_literal "0x139") (, ",") (number_literal "0x1a9") (, ",") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }" (else "else") (compound_statement "{\n      ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);\n    }" ({ "{") (expression_statement "ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",\n                 param_1 + 0x21f0)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/pcx.c"" (" """) (string_content "coders/pcx.c") (" """)) (, ",") (string_literal ""ReadPCXImage"" (" """) (string_content "ReadPCXImage") (" """)) (, ",") (number_literal "0x129") (, ",") (number_literal "0x1a9") (, ",") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";")) (} "}")))) (if_statement "if (local_378 != (int *)0x0) {\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }" (if "if") (parenthesized_expression "(local_378 != (int *)0x0)" (( "(") (binary_expression "local_378 != (int *)0x0" (identifier "local_378") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_002690b2:\n      CloseBlob(local_378);\n      DestroyImageList(local_378);\n    }" ({ "{") (labeled_statement "LAB_002690b2:\n      CloseBlob(local_378);" (statement_identifier "LAB_002690b2") (: ":") (expression_statement "CloseBlob(local_378);" (call_expression "CloseBlob(local_378)" (identifier "CloseBlob") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")"))) (; ";"))) (expression_statement "DestroyImageList(local_378);" (call_expression "DestroyImageList(local_378)" (identifier "DestroyImageList") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }" (else "else") (compound_statement "{\n    local_360 = (int *)0x0;\nLAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);\n    local_364 = 0;\n    local_344 = 1;\n    local_36c = 0;\n    do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);\n    RelinquishMagickMemory(local_360);\nLAB_0026a58c:\n    CloseBlob(local_378);\n    if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }\n  }" ({ "{") (expression_statement "local_360 = (int *)0x0;" (assignment_expression "local_360 = (int *)0x0" (identifier "local_360") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0026919c:\n    iVar6 = ReadBlob(local_378,1,&local_33c);" (statement_identifier "LAB_0026919c") (: ":") (expression_statement "iVar6 = ReadBlob(local_378,1,&local_33c);" (assignment_expression "iVar6 = ReadBlob(local_378,1,&local_33c)" (identifier "iVar6") (= "=") (call_expression "ReadBlob(local_378,1,&local_33c)" (identifier "ReadBlob") (argument_list "(local_378,1,&local_33c)" (( "(") (identifier "local_378") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_33c" (& "&") (identifier "local_33c")) () ")")))) (; ";"))) (expression_statement "local_364 = 0;" (assignment_expression "local_364 = 0" (identifier "local_364") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_344 = 1;" (assignment_expression "local_344 = 1" (identifier "local_344") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_36c = 0;" (assignment_expression "local_36c = 0" (identifier "local_36c") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    } while (local_344 != 0x400);" (do "do") (compound_statement "{\n      local_33b = ReadBlobByte(local_378);\n      if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }\n      local_33a = ReadBlobByte(local_378);\n      iVar6 = ReadBlobByte(local_378);\n      if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }\n      local_339 = (byte)iVar6;\n      local_338 = ReadBlobLSBShort(local_378);\n      local_336 = ReadBlobLSBShort(local_378);\n      local_334 = ReadBlobLSBShort(local_378);\n      local_332 = ReadBlobLSBShort(local_378);\n      local_330 = ReadBlobLSBShort(local_378);\n      local_32e = ReadBlobLSBShort(local_378);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }\n      if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }\n      iVar6 = ((uint)local_334 - (uint)local_338) + 1;\n      iVar26 = ((uint)local_332 - (uint)local_336) + 1;\n      local_378[8] = (uint)local_339;\n      local_378[6] = iVar6;\n      *(double *)(local_378 + 0x7c) = (double)local_330;\n      local_378[7] = iVar26;\n      local_378[0x77] = 1;\n      *(double *)(local_378 + 0x7e) = (double)local_32e;\n      local_378[9] = 0x10;\n      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }\n      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);\n      if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }\n      SetImageBackgroundColor(local_378,param_2);\n      pbVar10 = local_320;\n      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }\n      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);\n      if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }\n      local_32c = ReadBlobByte(local_378);\n      local_32b = ReadBlobByte(local_378);\n      if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }\n      if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }\n      uVar17 = (uint)local_32b * (uint)local_339;\n      if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }\n      if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }\n      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);\n      if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }\n      if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }\n      fVar4 = DAT_002e814c;\n      iVar6 = local_378[9];\n      if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }\n      local_32a = ReadBlobLSBShort(local_378);\n      local_328 = ReadBlobLSBShort(local_378);\n      local_326 = ReadBlobLSBShort(local_378);\n      local_324 = ReadBlobLSBShort(local_378);\n      iVar6 = 0x36;\n      do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);\n      uVar24 = (uint)local_32a;\n      uVar17 = local_378[7];\n      if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }\n      uVar22 = uVar24 * uVar17;\n      if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }\n      uVar17 = (uint)local_32b;\n      if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }\n      uVar24 = uVar17 * uVar22;\n      if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }\n      uVar17 = local_339 * uVar17 * local_378[6];\n      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }\n      uVar29 = GetBlobSize(local_378);\n      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }\n      bVar16 = local_32b;\n      if (local_32b < 8) {\n        bVar16 = 8;\n      }\n      uVar17 = (uint)local_32a;\n      if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }\n      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);\n      iVar6 = AcquireVirtualMemory(uVar24,2);\n      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }\n      uVar17 = local_378[6];\n      if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }\n      uVar22 = (uint)local_32b;\n      if (local_32b < 8) {\n        uVar22 = 8;\n      }\n      memset(pbVar10,0,uVar17 * uVar22);\n      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);\n      memset(__s,0,uVar24 * 2);\n      puVar25 = __s;\n      if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }\nLAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }\n      local_364 = 0;\n      local_34c = 0;\n      local_348 = 0;\n      if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }\n      if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }\n      local_364 = RelinquishMagickMemory(pbVar10);\n      local_36c = RelinquishVirtualMemory(iVar6);\n      iVar6 = EOFBlob(local_378);\n      if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }\n      if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;\n      if (local_360 == (int *)0x0) goto LAB_0026a58c;\n      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;\n      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);\n      if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }\n      iVar6 = ReadBlob(local_378,1,&local_33c);\n      if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }\n      local_344 = local_344 + 1;\n    }" ({ "{") (expression_statement "local_33b = ReadBlobByte(local_378);" (assignment_expression "local_33b = ReadBlobByte(local_378)" (identifier "local_33b") (= "=") (call_expression "ReadBlobByte(local_378)" (identifier "ReadBlobByte") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if ((iVar6 != 1) || (local_33c != '\n')) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }" (if "if") (parenthesized_expression "((iVar6 != 1) || (local_33c != '\n'))" (( "(") (binary_expression "(iVar6 != 1) || (local_33c != '\n')" (parenthesized_expression "(iVar6 != 1)" (( "(") (binary_expression "iVar6 != 1" (identifier "iVar6") (!= "!=") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(local_33c != '\n')" (( "(") (binary_expression "local_33c != '\n'" (identifier "local_33c") (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x146;\n        goto LAB_0026a2c8;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" (identifier "uVar31") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar7 = 0x146;" (assignment_expression "uVar7 = 0x146" (identifier "uVar7") (= "=") (number_literal "0x146")) (; ";")) (goto_statement "goto LAB_0026a2c8;" (goto "goto") (statement_identifier "LAB_0026a2c8") (; ";")) (} "}"))) (expression_statement "local_33a = ReadBlobByte(local_378);" (assignment_expression "local_33a = ReadBlobByte(local_378)" (identifier "local_33a") (= "=") (call_expression "ReadBlobByte(local_378)" (identifier "ReadBlobByte") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "iVar6 = ReadBlobByte(local_378);" (assignment_expression "iVar6 = ReadBlobByte(local_378)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(local_378)" (identifier "ReadBlobByte") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if (iVar6 == -1) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }" (if "if") (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x14a;\n        goto LAB_0026a2c8;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" (identifier "uVar31") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar7 = 0x14a;" (assignment_expression "uVar7 = 0x14a" (identifier "uVar7") (= "=") (number_literal "0x14a")) (; ";")) (goto_statement "goto LAB_0026a2c8;" (goto "goto") (statement_identifier "LAB_0026a2c8") (; ";")) (} "}"))) (expression_statement "local_339 = (byte)iVar6;" (assignment_expression "local_339 = (byte)iVar6" (identifier "local_339") (= "=") (cast_expression "(byte)iVar6" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "iVar6"))) (; ";")) (expression_statement "local_338 = ReadBlobLSBShort(local_378);" (assignment_expression "local_338 = ReadBlobLSBShort(local_378)" (identifier "local_338") (= "=") (call_expression "ReadBlobLSBShort(local_378)" (identifier "ReadBlobLSBShort") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "local_336 = ReadBlobLSBShort(local_378);" (assignment_expression "local_336 = ReadBlobLSBShort(local_378)" (identifier "local_336") (= "=") (call_expression "ReadBlobLSBShort(local_378)" (identifier "ReadBlobLSBShort") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "local_334 = ReadBlobLSBShort(local_378);" (assignment_expression "local_334 = ReadBlobLSBShort(local_378)" (identifier "local_334") (= "=") (call_expression "ReadBlobLSBShort(local_378)" (identifier "ReadBlobLSBShort") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "local_332 = ReadBlobLSBShort(local_378);" (assignment_expression "local_332 = ReadBlobLSBShort(local_378)" (identifier "local_332") (= "=") (call_expression "ReadBlobLSBShort(local_378)" (identifier "ReadBlobLSBShort") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "local_330 = ReadBlobLSBShort(local_378);" (assignment_expression "local_330 = ReadBlobLSBShort(local_378)" (identifier "local_330") (= "=") (call_expression "ReadBlobLSBShort(local_378)" (identifier "ReadBlobLSBShort") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "local_32e = ReadBlobLSBShort(local_378);" (assignment_expression "local_32e = ReadBlobLSBShort(local_378)" (identifier "local_32e") (= "=") (call_expression "ReadBlobLSBShort(local_378)" (identifier "ReadBlobLSBShort") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "iVar6 = EOFBlob(local_378);" (assignment_expression "iVar6 = EOFBlob(local_378)" (identifier "iVar6") (= "=") (call_expression "EOFBlob(local_378)" (identifier "EOFBlob") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "UnexpectedEndOfFile";\n        uVar31 = 0x1a9;\n        uVar7 = 0x153;\n        goto LAB_0026a2c8;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" (identifier "pcVar32") (= "=") (string_literal ""UnexpectedEndOfFile"" (" """) (string_content "UnexpectedEndOfFile") (" """))) (; ";")) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" (identifier "uVar31") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar7 = 0x153;" (assignment_expression "uVar7 = 0x153" (identifier "uVar7") (= "=") (number_literal "0x153")) (; ";")) (goto_statement "goto LAB_0026a2c8;" (goto "goto") (statement_identifier "LAB_0026a2c8") (; ";")) (} "}"))) (if_statement "if (((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }" (if "if") (parenthesized_expression "(((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1)))))" (( "(") (binary_expression "((local_334 < local_338) || (local_332 < local_336)) ||\n         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))" (parenthesized_expression "((local_334 < local_338) || (local_332 < local_336))" (( "(") (binary_expression "(local_334 < local_338) || (local_332 < local_336)" (parenthesized_expression "(local_334 < local_338)" (( "(") (binary_expression "local_334 < local_338" (identifier "local_334") (< "<") (identifier "local_338")) () ")")) (|| "||") (parenthesized_expression "(local_332 < local_336)" (( "(") (binary_expression "local_332 < local_336" (identifier "local_332") (< "<") (identifier "local_336")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))" (( "(") (parenthesized_expression "((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1)))" (( "(") (binary_expression "(local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))" (binary_expression "(local_339 - 4 & 0xfb) != 0" (parenthesized_expression "(local_339 - 4 & 0xfb)" (( "(") (binary_expression "local_339 - 4 & 0xfb" (binary_expression "local_339 - 4" (identifier "local_339") (- "-") (number_literal "4")) (& "&") (number_literal "0xfb")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(1 < (byte)(local_339 - 1))" (( "(") (binary_expression "1 < (byte)(local_339 - 1)" (number_literal "1") (< "<") (call_expression "(byte)(local_339 - 1)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(local_339 - 1)" (( "(") (binary_expression "local_339 - 1" (identifier "local_339") (- "-") (number_literal "1")) () ")")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar31 = 0x1a9;\n        uVar7 = 0x15a;\n        goto LAB_0026a2c8;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar31 = 0x1a9;" (assignment_expression "uVar31 = 0x1a9" (identifier "uVar31") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar7 = 0x15a;" (assignment_expression "uVar7 = 0x15a" (identifier "uVar7") (= "=") (number_literal "0x15a")) (; ";")) (goto_statement "goto LAB_0026a2c8;" (goto "goto") (statement_identifier "LAB_0026a2c8") (; ";")) (} "}"))) (expression_statement "iVar6 = ((uint)local_334 - (uint)local_338) + 1;" (assignment_expression "iVar6 = ((uint)local_334 - (uint)local_338) + 1" (identifier "iVar6") (= "=") (binary_expression "((uint)local_334 - (uint)local_338) + 1" (parenthesized_expression "((uint)local_334 - (uint)local_338)" (( "(") (binary_expression "(uint)local_334 - (uint)local_338" (cast_expression "(uint)local_334" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_334")) (- "-") (cast_expression "(uint)local_338" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_338"))) () ")")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar26 = ((uint)local_332 - (uint)local_336) + 1;" (assignment_expression "iVar26 = ((uint)local_332 - (uint)local_336) + 1" (identifier "iVar26") (= "=") (binary_expression "((uint)local_332 - (uint)local_336) + 1" (parenthesized_expression "((uint)local_332 - (uint)local_336)" (( "(") (binary_expression "(uint)local_332 - (uint)local_336" (cast_expression "(uint)local_332" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_332")) (- "-") (cast_expression "(uint)local_336" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_336"))) () ")")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_378[8] = (uint)local_339;" (assignment_expression "local_378[8] = (uint)local_339" (subscript_expression "local_378[8]" (identifier "local_378") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(uint)local_339" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_339"))) (; ";")) (expression_statement "local_378[6] = iVar6;" (assignment_expression "local_378[6] = iVar6" (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(double *)(local_378 + 0x7c) = (double)local_330;" (assignment_expression "*(double *)(local_378 + 0x7c) = (double)local_330" (pointer_expression "*(double *)(local_378 + 0x7c)" (* "*") (cast_expression "(double *)(local_378 + 0x7c)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_378 + 0x7c)" (( "(") (binary_expression "local_378 + 0x7c" (identifier "local_378") (+ "+") (number_literal "0x7c")) () ")")))) (= "=") (cast_expression "(double)local_330" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_330"))) (; ";")) (expression_statement "local_378[7] = iVar26;" (assignment_expression "local_378[7] = iVar26" (subscript_expression "local_378[7]" (identifier "local_378") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "iVar26")) (; ";")) (expression_statement "local_378[0x77] = 1;" (assignment_expression "local_378[0x77] = 1" (subscript_expression "local_378[0x77]" (identifier "local_378") ([ "[") (number_literal "0x77") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(double *)(local_378 + 0x7e) = (double)local_32e;" (assignment_expression "*(double *)(local_378 + 0x7e) = (double)local_32e" (pointer_expression "*(double *)(local_378 + 0x7e)" (* "*") (cast_expression "(double *)(local_378 + 0x7e)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_378 + 0x7e)" (( "(") (binary_expression "local_378 + 0x7e" (identifier "local_378") (+ "+") (number_literal "0x7e")) () ")")))) (= "=") (cast_expression "(double)local_32e" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_32e"))) (; ";")) (expression_statement "local_378[9] = 0x10;" (assignment_expression "local_378[9] = 0x10" (subscript_expression "local_378[9]" (identifier "local_378") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (if_statement "if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;" (if "if") (parenthesized_expression "(((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))" (( "(") (binary_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" (parenthesized_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0))" (( "(") (binary_expression "(*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)" (parenthesized_expression "(*(int *)(param_1 + 0x1bc) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1bc) != 0" (pointer_expression "*(int *)(param_1 + 0x1bc)" (* "*") (cast_expression "(int *)(param_1 + 0x1bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1bc)" (( "(") (binary_expression "param_1 + 0x1bc" (identifier "param_1") (+ "+") (number_literal "0x1bc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" (( "(") (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (- "-") (number_literal "1U")) (<= "<=") (cast_expression "(uint)local_378[0x91]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_378[0x91]" (identifier "local_378") ([ "[") (number_literal "0x91") (] "]")))) () ")"))) () ")")) (goto_statement "goto LAB_0026aa7e;" (goto "goto") (statement_identifier "LAB_0026aa7e") (; ";"))) (expression_statement "uVar29 = GetBlobSize(local_378);" (assignment_expression "uVar29 = GetBlobSize(local_378)" (identifier "uVar29") (= "=") (call_expression "GetBlobSize(local_378)" (identifier "GetBlobSize") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))\n      {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))" (( "(") (binary_expression "((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff)" (parenthesized_expression "((int)((ulonglong)uVar29 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar29 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar29 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar29 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar29 >> 0x20" (cast_expression "(ulonglong)uVar29" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar29")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff)" (( "(") (binary_expression "(uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff" (cast_expression "(uint)uVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar29")) (< "<") (binary_expression "(uint)(iVar6 * iVar26) / 0xff" (call_expression "(uint)(iVar6 * iVar26)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar6 * iVar26)" (( "(") (binary_expression "iVar6 * iVar26" (identifier "iVar6") (* "*") (identifier "iVar26")) () ")"))) (/ "/") (number_literal "0xff"))) () ")"))) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "InsufficientImageDataInFile";\n        uVar7 = 0x1a9;\n        uVar31 = 0x166;\nLAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);\n        goto LAB_002690b2;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "InsufficientImageDataInFile";" (assignment_expression "pcVar32 = "InsufficientImageDataInFile"" (identifier "pcVar32") (= "=") (string_literal ""InsufficientImageDataInFile"" (" """) (string_content "InsufficientImageDataInFile") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x166;" (assignment_expression "uVar31 = 0x166" (identifier "uVar31") (= "=") (number_literal "0x166")) (; ";")) (labeled_statement "LAB_00269ff0:\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" (statement_identifier "LAB_00269ff0") (: ":") (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",\n                   param_1 + 0x21f0)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/pcx.c"" (" """) (string_content "coders/pcx.c") (" """)) (, ",") (string_literal ""ReadPCXImage"" (" """) (string_content "ReadPCXImage") (" """)) (, ",") (identifier "uVar31") (, ",") (identifier "uVar7") (, ",") (identifier "pcVar32") (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";"))) (goto_statement "goto LAB_002690b2;" (goto "goto") (statement_identifier "LAB_002690b2") (; ";")) (} "}"))) (expression_statement "local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);" (assignment_expression "local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2)" (identifier "local_350") (= "=") (call_expression "SetImageExtent(local_378,local_378[6],local_378[7],param_2)" (identifier "SetImageExtent") (argument_list "(local_378,local_378[6],local_378[7],param_2)" (( "(") (identifier "local_378") (, ",") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "local_378[7]" (identifier "local_378") ([ "[") (number_literal "7") (] "]")) (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (local_350 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "(local_350 == 0)" (( "(") (binary_expression "local_350 == 0" (identifier "local_350") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = (char *)param_2[2];\n        if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }\n        uVar7 = *param_2;\n        uVar31 = 0x169;\n        goto LAB_00269ff0;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = (char *)param_2[2];" (assignment_expression "pcVar32 = (char *)param_2[2]" (identifier "pcVar32") (= "=") (cast_expression "(char *)param_2[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if ((char *)param_2[2] == (char *)0x0) {\n          pcVar32 = "unknown";\n        }" (if "if") (parenthesized_expression "((char *)param_2[2] == (char *)0x0)" (( "(") (binary_expression "(char *)param_2[2] == (char *)0x0" (cast_expression "(char *)param_2[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pcVar32 = "unknown";\n        }" ({ "{") (expression_statement "pcVar32 = "unknown";" (assignment_expression "pcVar32 = "unknown"" (identifier "pcVar32") (= "=") (string_literal ""unknown"" (" """) (string_content "unknown") (" """))) (; ";")) (} "}"))) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" (identifier "uVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar31 = 0x169;" (assignment_expression "uVar31 = 0x169" (identifier "uVar31") (= "=") (number_literal "0x169")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (expression_statement "SetImageBackgroundColor(local_378,param_2);" (call_expression "SetImageBackgroundColor(local_378,param_2)" (identifier "SetImageBackgroundColor") (argument_list "(local_378,param_2)" (( "(") (identifier "local_378") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "pbVar10 = local_320;" (assignment_expression "pbVar10 = local_320" (identifier "pbVar10") (= "=") (identifier "local_320")) (; ";")) (for_statement "for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }" (for "for") (( "(") (assignment_expression "iVar6 = 0xc0" (identifier "iVar6") (= "=") (number_literal "0xc0")) (; ";") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar6 = iVar6 + -1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n        pbVar10[0] = 0;\n        pbVar10[1] = 0;\n        pbVar10[2] = 0;\n        pbVar10[3] = 0;\n        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;\n      }" ({ "{") (expression_statement "pbVar10[0] = 0;" (assignment_expression "pbVar10[0] = 0" (subscript_expression "pbVar10[0]" (identifier "pbVar10") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar10[1] = 0;" (assignment_expression "pbVar10[1] = 0" (subscript_expression "pbVar10[1]" (identifier "pbVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar10[2] = 0;" (assignment_expression "pbVar10[2] = 0" (subscript_expression "pbVar10[2]" (identifier "pbVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar10[3] = 0;" (assignment_expression "pbVar10[3] = 0" (subscript_expression "pbVar10[3]" (identifier "pbVar10") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + (uint)bVar28 * -8 + 4" (binary_expression "pbVar10 + (uint)bVar28 * -8" (identifier "pbVar10") (+ "+") (binary_expression "(uint)bVar28 * -8" (cast_expression "(uint)bVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar28")) (* "*") (number_literal "-8"))) (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);" (assignment_expression "iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320)" (identifier "iVar6") (= "=") (call_expression "ReadBlob(local_378,local_378[9] * 3,local_320)" (identifier "ReadBlob") (argument_list "(local_378,local_378[9] * 3,local_320)" (( "(") (identifier "local_378") (, ",") (binary_expression "local_378[9] * 3" (subscript_expression "local_378[9]" (identifier "local_378") ([ "[") (number_literal "9") (] "]")) (* "*") (number_literal "3")) (, ",") (identifier "local_320") () ")")))) (; ";")) (if_statement "if (local_378[9] * 3 != iVar6) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "(local_378[9] * 3 != iVar6)" (( "(") (binary_expression "local_378[9] * 3 != iVar6" (binary_expression "local_378[9] * 3" (subscript_expression "local_378[9]" (identifier "local_378") ([ "[") (number_literal "9") (] "]")) (* "*") (number_literal "3")) (!= "!=") (identifier "iVar6")) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x16e;\n        goto LAB_00269ff0;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x16e;" (assignment_expression "uVar31 = 0x16e" (identifier "uVar31") (= "=") (number_literal "0x16e")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (expression_statement "local_32c = ReadBlobByte(local_378);" (assignment_expression "local_32c = ReadBlobByte(local_378)" (identifier "local_32c") (= "=") (call_expression "ReadBlobByte(local_378)" (identifier "ReadBlobByte") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "local_32b = ReadBlobByte(local_378);" (assignment_expression "local_32b = ReadBlobByte(local_378)" (identifier "local_32b") (= "=") (call_expression "ReadBlobByte(local_378)" (identifier "ReadBlobByte") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if (local_32b == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "(local_32b == 0)" (( "(") (binary_expression "local_32b == 0" (identifier "local_32b") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x172;\n        goto LAB_00269ff0;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x172;" (assignment_expression "uVar31 = 0x172" (identifier "uVar31") (= "=") (number_literal "0x172")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (if_statement "if (6 < local_32b) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "(6 < local_32b)" (( "(") (binary_expression "6 < local_32b" (number_literal "6") (< "<") (identifier "local_32b")) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x174;\n        goto LAB_00269ff0;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x174;" (assignment_expression "uVar31 = 0x174" (identifier "uVar31") (= "=") (number_literal "0x174")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (expression_statement "uVar17 = (uint)local_32b * (uint)local_339;" (assignment_expression "uVar17 = (uint)local_32b * (uint)local_339" (identifier "uVar17") (= "=") (binary_expression "(uint)local_32b * (uint)local_339" (cast_expression "(uint)local_32b" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32b")) (* "*") (cast_expression "(uint)local_339" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_339")))) (; ";")) (if_statement "if (0x3f < uVar17) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "(0x3f < uVar17)" (( "(") (binary_expression "0x3f < uVar17" (number_literal "0x3f") (< "<") (identifier "uVar17")) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x176;\n        goto LAB_00269ff0;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x176;" (assignment_expression "uVar31 = 0x176" (identifier "uVar31") (= "=") (number_literal "0x176")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (if_statement "if (((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }\n      else {\n        uVar17 = local_378[9];\n      }" (if "if") (parenthesized_expression "(((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1))))" (( "(") (binary_expression "((local_32b == 1) || (local_339 != 8)) &&\n         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))" (parenthesized_expression "((local_32b == 1) || (local_339 != 8))" (( "(") (binary_expression "(local_32b == 1) || (local_339 != 8)" (parenthesized_expression "(local_32b == 1)" (( "(") (binary_expression "local_32b == 1" (identifier "local_32b") (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(local_339 != 8)" (( "(") (binary_expression "local_339 != 8" (identifier "local_339") (!= "!=") (number_literal "8")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))" (( "(") (parenthesized_expression "((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1))" (( "(") (binary_expression "(local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)" (binary_expression "(local_33b - 3U & 0xfd) == 0" (parenthesized_expression "(local_33b - 3U & 0xfd)" (( "(") (binary_expression "local_33b - 3U & 0xfd" (binary_expression "local_33b - 3U" (identifier "local_33b") (- "-") (number_literal "3U")) (& "&") (number_literal "0xfd")) () ")")) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(uVar17 == 1)" (( "(") (binary_expression "uVar17 == 1" (identifier "uVar17") (== "==") (number_literal "1")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar17 = 1 << ((byte)uVar17 & 0x1f);\n        if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }\n        local_378[9] = uVar17;\n      }" ({ "{") (expression_statement "uVar17 = 1 << ((byte)uVar17 & 0x1f);" (assignment_expression "uVar17 = 1 << ((byte)uVar17 & 0x1f)" (identifier "uVar17") (= "=") (binary_expression "1 << ((byte)uVar17 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)uVar17 & 0x1f)" (( "(") (binary_expression "(byte)uVar17 & 0x1f" (cast_expression "(byte)uVar17" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar17")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (0x100 < uVar17) {\n          uVar17 = 0x100;\n        }" (if "if") (parenthesized_expression "(0x100 < uVar17)" (( "(") (binary_expression "0x100 < uVar17" (number_literal "0x100") (< "<") (identifier "uVar17")) () ")")) (compound_statement "{\n          uVar17 = 0x100;\n        }" ({ "{") (expression_statement "uVar17 = 0x100;" (assignment_expression "uVar17 = 0x100" (identifier "uVar17") (= "=") (number_literal "0x100")) (; ";")) (} "}"))) (expression_statement "local_378[9] = uVar17;" (assignment_expression "local_378[9] = uVar17" (subscript_expression "local_378[9]" (identifier "local_378") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar17")) (; ";")) (} "}")) (else_clause "else {\n        uVar17 = local_378[9];\n      }" (else "else") (compound_statement "{\n        uVar17 = local_378[9];\n      }" ({ "{") (expression_statement "uVar17 = local_378[9];" (assignment_expression "uVar17 = local_378[9]" (identifier "uVar17") (= "=") (subscript_expression "local_378[9]" (identifier "local_378") ([ "[") (number_literal "9") (] "]"))) (; ";")) (} "}")))) (expression_statement "iVar6 = AcquireImageColormap(local_378,uVar17,param_2);" (assignment_expression "iVar6 = AcquireImageColormap(local_378,uVar17,param_2)" (identifier "iVar6") (= "=") (call_expression "AcquireImageColormap(local_378,uVar17,param_2)" (identifier "AcquireImageColormap") (argument_list "(local_378,uVar17,param_2)" (( "(") (identifier "local_378") (, ",") (identifier "uVar17") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x17e;\n        goto LAB_00269ff0;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "MemoryAllocationFailed";" (assignment_expression "pcVar32 = "MemoryAllocationFailed"" (identifier "pcVar32") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "uVar7 = 400;" (assignment_expression "uVar7 = 400" (identifier "uVar7") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar31 = 0x17e;" (assignment_expression "uVar31 = 0x17e" (identifier "uVar31") (= "=") (number_literal "0x17e")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (if_statement "if ((7 < local_339) && (local_32b != 1)) {\n        *local_378 = 1;\n      }" (if "if") (parenthesized_expression "((7 < local_339) && (local_32b != 1))" (( "(") (binary_expression "(7 < local_339) && (local_32b != 1)" (parenthesized_expression "(7 < local_339)" (( "(") (binary_expression "7 < local_339" (number_literal "7") (< "<") (identifier "local_339")) () ")")) (&& "&&") (parenthesized_expression "(local_32b != 1)" (( "(") (binary_expression "local_32b != 1" (identifier "local_32b") (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n        *local_378 = 1;\n      }" ({ "{") (expression_statement "*local_378 = 1;" (assignment_expression "*local_378 = 1" (pointer_expression "*local_378" (* "*") (identifier "local_378")) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "fVar4 = DAT_002e814c;" (assignment_expression "fVar4 = DAT_002e814c" (identifier "fVar4") (= "=") (identifier "DAT_002e814c")) (; ";")) (expression_statement "iVar6 = local_378[9];" (assignment_expression "iVar6 = local_378[9]" (identifier "iVar6") (= "=") (subscript_expression "local_378[9]" (identifier "local_378") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (0 < iVar6) {\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }" (if "if") (parenthesized_expression "(0 < iVar6)" (( "(") (binary_expression "0 < iVar6" (number_literal "0") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n        pbVar10 = local_320;\n        pdVar15 = (double *)(local_378[10] + 0x20);\n        do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);\n      }" ({ "{") (expression_statement "pbVar10 = local_320;" (assignment_expression "pbVar10 = local_320" (identifier "pbVar10") (= "=") (identifier "local_320")) (; ";")) (expression_statement "pdVar15 = (double *)(local_378[10] + 0x20);" (assignment_expression "pdVar15 = (double *)(local_378[10] + 0x20)" (identifier "pdVar15") (= "=") (cast_expression "(double *)(local_378[10] + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_378[10] + 0x20)" (( "(") (binary_expression "local_378[10] + 0x20" (subscript_expression "local_378[10]" (identifier "local_378") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (do_statement "do {\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        } while (pbVar8 != local_320 + iVar6 * 3);" (do "do") (compound_statement "{\n          pbVar8 = pbVar10 + 3;\n          *pdVar15 = (double)((float)*pbVar10 * fVar4);\n          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);\n          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);\n          pbVar10 = pbVar8;\n          pdVar15 = pdVar15 + 10;\n        }" ({ "{") (expression_statement "pbVar8 = pbVar10 + 3;" (assignment_expression "pbVar8 = pbVar10 + 3" (identifier "pbVar8") (= "=") (binary_expression "pbVar10 + 3" (identifier "pbVar10") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*pdVar15 = (double)((float)*pbVar10 * fVar4);" (assignment_expression "*pdVar15 = (double)((float)*pbVar10 * fVar4)" (pointer_expression "*pdVar15" (* "*") (identifier "pdVar15")) (= "=") (cast_expression "(double)((float)*pbVar10 * fVar4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)*pbVar10 * fVar4)" (( "(") (binary_expression "(float)*pbVar10 * fVar4" (cast_expression "(float)*pbVar10" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10"))) (* "*") (identifier "fVar4")) () ")")))) (; ";")) (expression_statement "pdVar15[1] = (double)((float)pbVar10[1] * fVar4);" (assignment_expression "pdVar15[1] = (double)((float)pbVar10[1] * fVar4)" (subscript_expression "pdVar15[1]" (identifier "pdVar15") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(double)((float)pbVar10[1] * fVar4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)pbVar10[1] * fVar4)" (( "(") (binary_expression "(float)pbVar10[1] * fVar4" (cast_expression "(float)pbVar10[1]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "pbVar10[1]" (identifier "pbVar10") ([ "[") (number_literal "1") (] "]"))) (* "*") (identifier "fVar4")) () ")")))) (; ";")) (expression_statement "pdVar15[2] = (double)((float)pbVar10[2] * fVar4);" (assignment_expression "pdVar15[2] = (double)((float)pbVar10[2] * fVar4)" (subscript_expression "pdVar15[2]" (identifier "pdVar15") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double)((float)pbVar10[2] * fVar4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)pbVar10[2] * fVar4)" (( "(") (binary_expression "(float)pbVar10[2] * fVar4" (cast_expression "(float)pbVar10[2]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "pbVar10[2]" (identifier "pbVar10") ([ "[") (number_literal "2") (] "]"))) (* "*") (identifier "fVar4")) () ")")))) (; ";")) (expression_statement "pbVar10 = pbVar8;" (assignment_expression "pbVar10 = pbVar8" (identifier "pbVar10") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "pdVar15 = pdVar15 + 10;" (assignment_expression "pdVar15 = pdVar15 + 10" (identifier "pdVar15") (= "=") (binary_expression "pdVar15 + 10" (identifier "pdVar15") (+ "+") (number_literal "10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar8 != local_320 + iVar6 * 3)" (( "(") (binary_expression "pbVar8 != local_320 + iVar6 * 3" (identifier "pbVar8") (!= "!=") (binary_expression "local_320 + iVar6 * 3" (identifier "local_320") (+ "+") (binary_expression "iVar6 * 3" (identifier "iVar6") (* "*") (number_literal "3")))) () ")")) (; ";")) (} "}"))) (expression_statement "local_32a = ReadBlobLSBShort(local_378);" (assignment_expression "local_32a = ReadBlobLSBShort(local_378)" (identifier "local_32a") (= "=") (call_expression "ReadBlobLSBShort(local_378)" (identifier "ReadBlobLSBShort") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "local_328 = ReadBlobLSBShort(local_378);" (assignment_expression "local_328 = ReadBlobLSBShort(local_378)" (identifier "local_328") (= "=") (call_expression "ReadBlobLSBShort(local_378)" (identifier "ReadBlobLSBShort") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "local_326 = ReadBlobLSBShort(local_378);" (assignment_expression "local_326 = ReadBlobLSBShort(local_378)" (identifier "local_326") (= "=") (call_expression "ReadBlobLSBShort(local_378)" (identifier "ReadBlobLSBShort") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "local_324 = ReadBlobLSBShort(local_378);" (assignment_expression "local_324 = ReadBlobLSBShort(local_378)" (identifier "local_324") (= "=") (call_expression "ReadBlobLSBShort(local_378)" (identifier "ReadBlobLSBShort") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "iVar6 = 0x36;" (assignment_expression "iVar6 = 0x36" (identifier "iVar6") (= "=") (number_literal "0x36")) (; ";")) (do_statement "do {\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      } while (iVar6 != 0);" (do "do") (compound_statement "{\n        ReadBlobByte(local_378);\n        iVar6 = iVar6 + -1;\n      }" ({ "{") (expression_statement "ReadBlobByte(local_378);" (call_expression "ReadBlobByte(local_378)" (identifier "ReadBlobByte") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")"))) (; ";")) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar24 = (uint)local_32a;" (assignment_expression "uVar24 = (uint)local_32a" (identifier "uVar24") (= "=") (cast_expression "(uint)local_32a" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32a"))) (; ";")) (expression_statement "uVar17 = local_378[7];" (assignment_expression "uVar17 = local_378[7]" (identifier "uVar17") (= "=") (subscript_expression "local_378[7]" (identifier "local_378") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if ((uVar17 == 0) || (uVar24 == 0)) {\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "((uVar17 == 0) || (uVar24 == 0))" (( "(") (binary_expression "(uVar17 == 0) || (uVar24 == 0)" (parenthesized_expression "(uVar17 == 0)" (( "(") (binary_expression "uVar17 == 0" (identifier "uVar17") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x192;\n        goto LAB_00269ff0;\n      }" ({ "{") (labeled_statement "LAB_0026963a:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (statement_identifier "LAB_0026963a") (: ":") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x192;" (assignment_expression "uVar31 = 0x192" (identifier "uVar31") (= "=") (number_literal "0x192")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (expression_statement "uVar22 = uVar24 * uVar17;" (assignment_expression "uVar22 = uVar24 * uVar17" (identifier "uVar22") (= "=") (binary_expression "uVar24 * uVar17" (identifier "uVar24") (* "*") (identifier "uVar17"))) (; ";")) (if_statement "if (uVar24 != uVar22 / uVar17) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }" (if "if") (parenthesized_expression "(uVar24 != uVar22 / uVar17)" (( "(") (binary_expression "uVar24 != uVar22 / uVar17" (identifier "uVar24") (!= "!=") (binary_expression "uVar22 / uVar17" (identifier "uVar22") (/ "/") (identifier "uVar17"))) () ")")) (compound_statement "{\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_0026963a;\n      }" ({ "{") (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" (identifier "piVar9") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar9 = 0xc;" (assignment_expression "*piVar9 = 0xc" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (number_literal "0xc")) (; ";")) (goto_statement "goto LAB_0026963a;" (goto "goto") (statement_identifier "LAB_0026963a") (; ";")) (} "}"))) (expression_statement "uVar17 = (uint)local_32b;" (assignment_expression "uVar17 = (uint)local_32b" (identifier "uVar17") (= "=") (cast_expression "(uint)local_32b" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32b"))) (; ";")) (if_statement "if ((uVar22 == 0) || (uVar17 == 0)) {\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "((uVar22 == 0) || (uVar17 == 0))" (( "(") (binary_expression "(uVar22 == 0) || (uVar17 == 0)" (parenthesized_expression "(uVar22 == 0)" (( "(") (binary_expression "uVar22 == 0" (identifier "uVar22") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar17 == 0)" (( "(") (binary_expression "uVar17 == 0" (identifier "uVar17") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x194;\n        goto LAB_00269ff0;\n      }" ({ "{") (labeled_statement "LAB_002696ee:\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (statement_identifier "LAB_002696ee") (: ":") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x194;" (assignment_expression "uVar31 = 0x194" (identifier "uVar31") (= "=") (number_literal "0x194")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (expression_statement "uVar24 = uVar17 * uVar22;" (assignment_expression "uVar24 = uVar17 * uVar22" (identifier "uVar24") (= "=") (binary_expression "uVar17 * uVar22" (identifier "uVar17") (* "*") (identifier "uVar22"))) (; ";")) (if_statement "if (uVar17 != uVar24 / uVar22) {\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }" (if "if") (parenthesized_expression "(uVar17 != uVar24 / uVar22)" (( "(") (binary_expression "uVar17 != uVar24 / uVar22" (identifier "uVar17") (!= "!=") (binary_expression "uVar24 / uVar22" (identifier "uVar24") (/ "/") (identifier "uVar22"))) () ")")) (compound_statement "{\n        piVar9 = __errno_location();\n        *piVar9 = 0xc;\n        goto LAB_002696ee;\n      }" ({ "{") (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" (identifier "piVar9") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar9 = 0xc;" (assignment_expression "*piVar9 = 0xc" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (number_literal "0xc")) (; ";")) (goto_statement "goto LAB_002696ee;" (goto "goto") (statement_identifier "LAB_002696ee") (; ";")) (} "}"))) (expression_statement "uVar17 = local_339 * uVar17 * local_378[6];" (assignment_expression "uVar17 = local_339 * uVar17 * local_378[6]" (identifier "uVar17") (= "=") (binary_expression "local_339 * uVar17 * local_378[6]" (binary_expression "local_339 * uVar17" (identifier "local_339") (* "*") (identifier "uVar17")) (* "*") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]")))) (; ";")) (if_statement "if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "(uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0)" (( "(") (binary_expression "uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0" (binary_expression "uVar24 * 8 <= uVar17" (binary_expression "uVar24 * 8" (identifier "uVar24") (* "*") (number_literal "8")) (<= "<=") (identifier "uVar17")) (&& "&&") (binary_expression "uVar17 + uVar24 * -8 != 0" (binary_expression "uVar17 + uVar24 * -8" (identifier "uVar17") (+ "+") (binary_expression "uVar24 * -8" (identifier "uVar24") (* "*") (number_literal "-8"))) (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x196;\n        goto LAB_00269ff0;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x196;" (assignment_expression "uVar31 = 0x196" (identifier "uVar31") (= "=") (number_literal "0x196")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (expression_statement "uVar29 = GetBlobSize(local_378);" (assignment_expression "uVar29 = GetBlobSize(local_378)" (identifier "uVar29") (= "=") (call_expression "GetBlobSize(local_378)" (identifier "GetBlobSize") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80))" (( "(") (binary_expression "((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)" (parenthesized_expression "((int)((ulonglong)uVar29 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar29 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar29 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar29 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar29 >> 0x20" (cast_expression "(ulonglong)uVar29" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar29")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar29 < (uVar24 >> 5) + 0x80)" (( "(") (binary_expression "(uint)uVar29 < (uVar24 >> 5) + 0x80" (cast_expression "(uint)uVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar29")) (< "<") (binary_expression "(uVar24 >> 5) + 0x80" (parenthesized_expression "(uVar24 >> 5)" (( "(") (binary_expression "uVar24 >> 5" (identifier "uVar24") (>> ">>") (number_literal "5")) () ")")) (+ "+") (number_literal "0x80"))) () ")"))) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x198;\n        goto LAB_00269ff0;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x198;" (assignment_expression "uVar31 = 0x198" (identifier "uVar31") (= "=") (number_literal "0x198")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (expression_statement "bVar16 = local_32b;" (assignment_expression "bVar16 = local_32b" (identifier "bVar16") (= "=") (identifier "local_32b")) (; ";")) (if_statement "if (local_32b < 8) {\n        bVar16 = 8;\n      }" (if "if") (parenthesized_expression "(local_32b < 8)" (( "(") (binary_expression "local_32b < 8" (identifier "local_32b") (< "<") (number_literal "8")) () ")")) (compound_statement "{\n        bVar16 = 8;\n      }" ({ "{") (expression_statement "bVar16 = 8;" (assignment_expression "bVar16 = 8" (identifier "bVar16") (= "=") (number_literal "8")) (; ";")) (} "}"))) (expression_statement "uVar17 = (uint)local_32a;" (assignment_expression "uVar17 = (uint)local_32a" (identifier "uVar17") (= "=") (cast_expression "(uint)local_32a" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32a"))) (; ";")) (if_statement "if ((uint)local_32a < (uint)local_378[6]) {\n        uVar17 = local_378[6];\n      }" (if "if") (parenthesized_expression "((uint)local_32a < (uint)local_378[6])" (( "(") (binary_expression "(uint)local_32a < (uint)local_378[6]" (cast_expression "(uint)local_32a" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32a")) (< "<") (cast_expression "(uint)local_378[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n        uVar17 = local_378[6];\n      }" ({ "{") (expression_statement "uVar17 = local_378[6];" (assignment_expression "uVar17 = local_378[6]" (identifier "uVar17") (= "=") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}"))) (expression_statement "pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);" (assignment_expression "pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16)" (identifier "pbVar10") (= "=") (cast_expression "(byte *)AcquireQuantumMemory(uVar17,bVar16)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireQuantumMemory(uVar17,bVar16)" (identifier "AcquireQuantumMemory") (argument_list "(uVar17,bVar16)" (( "(") (identifier "uVar17") (, ",") (identifier "bVar16") () ")"))))) (; ";")) (expression_statement "iVar6 = AcquireVirtualMemory(uVar24,2);" (assignment_expression "iVar6 = AcquireVirtualMemory(uVar24,2)" (identifier "iVar6") (= "=") (call_expression "AcquireVirtualMemory(uVar24,2)" (identifier "AcquireVirtualMemory") (argument_list "(uVar24,2)" (( "(") (identifier "uVar24") (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "((pbVar10 == (byte *)0x0) || (iVar6 == 0))" (( "(") (binary_expression "(pbVar10 == (byte *)0x0) || (iVar6 == 0)" (parenthesized_expression "(pbVar10 == (byte *)0x0)" (( "(") (binary_expression "pbVar10 == (byte *)0x0" (identifier "pbVar10") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }\nLAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }\n        pcVar32 = "MemoryAllocationFailed";\n        uVar7 = 400;\n        uVar31 = 0x1a3;\n        goto LAB_00269ff0;\n      }" ({ "{") (if_statement "if (pbVar10 == (byte *)0x0) {\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }\n        else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" (if "if") (parenthesized_expression "(pbVar10 == (byte *)0x0)" (( "(") (binary_expression "pbVar10 == (byte *)0x0" (identifier "pbVar10") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }\n        }" ({ "{") (if_statement "if (iVar6 != 0) {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_358 = RelinquishVirtualMemory(iVar6);\n            goto LAB_0026ab65;\n          }" ({ "{") (expression_statement "local_358 = RelinquishVirtualMemory(iVar6);" (assignment_expression "local_358 = RelinquishVirtualMemory(iVar6)" (identifier "local_358") (= "=") (call_expression "RelinquishVirtualMemory(iVar6)" (identifier "RelinquishVirtualMemory") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (goto_statement "goto LAB_0026ab65;" (goto "goto") (statement_identifier "LAB_0026ab65") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" (else "else") (compound_statement "{\n          iVar26 = RelinquishMagickMemory(pbVar10);\n          if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }\n          RelinquishMagickMemory(iVar26);\nLAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }\n        }" ({ "{") (expression_statement "iVar26 = RelinquishMagickMemory(pbVar10);" (assignment_expression "iVar26 = RelinquishMagickMemory(pbVar10)" (identifier "iVar26") (= "=") (call_expression "RelinquishMagickMemory(pbVar10)" (identifier "RelinquishMagickMemory") (argument_list "(pbVar10)" (( "(") (identifier "pbVar10") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }\n          else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_358 = 0;\n            if (iVar26 == 0) goto LAB_0026ab7d;\n          }" ({ "{") (expression_statement "local_358 = 0;" (assignment_expression "local_358 = 0" (identifier "local_358") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar26 == 0) goto LAB_0026ab7d;" (if "if") (parenthesized_expression "(iVar26 == 0)" (( "(") (binary_expression "iVar26 == 0" (identifier "iVar26") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0026ab7d;" (goto "goto") (statement_identifier "LAB_0026ab7d") (; ";"))) (} "}")) (else_clause "else {\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }" (else "else") (compound_statement "{\n            local_358 = RelinquishVirtualMemory(iVar6);\n            if (iVar26 == 0) goto LAB_0026ab65;\n          }" ({ "{") (expression_statement "local_358 = RelinquishVirtualMemory(iVar6);" (assignment_expression "local_358 = RelinquishVirtualMemory(iVar6)" (identifier "local_358") (= "=") (call_expression "RelinquishVirtualMemory(iVar6)" (identifier "RelinquishVirtualMemory") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (if_statement "if (iVar26 == 0) goto LAB_0026ab65;" (if "if") (parenthesized_expression "(iVar26 == 0)" (( "(") (binary_expression "iVar26 == 0" (identifier "iVar26") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0026ab65;" (goto "goto") (statement_identifier "LAB_0026ab65") (; ";"))) (} "}")))) (expression_statement "RelinquishMagickMemory(iVar26);" (call_expression "RelinquishMagickMemory(iVar26)" (identifier "RelinquishMagickMemory") (argument_list "(iVar26)" (( "(") (identifier "iVar26") () ")"))) (; ";")) (labeled_statement "LAB_0026ab65:\n          if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }" (statement_identifier "LAB_0026ab65") (: ":") (if_statement "if (local_358 != 0) {\n            RelinquishVirtualMemory(local_358);\n          }" (if "if") (parenthesized_expression "(local_358 != 0)" (( "(") (binary_expression "local_358 != 0" (identifier "local_358") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            RelinquishVirtualMemory(local_358);\n          }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_358);" (call_expression "RelinquishVirtualMemory(local_358)" (identifier "RelinquishVirtualMemory") (argument_list "(local_358)" (( "(") (identifier "local_358") () ")"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_0026ab7d:\n        if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (statement_identifier "LAB_0026ab7d") (: ":") (if_statement "if (local_360 != (int *)0x0) {\n          RelinquishMagickMemory(local_360);\n        }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_360);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}")))) (expression_statement "pcVar32 = "MemoryAllocationFailed";" (assignment_expression "pcVar32 = "MemoryAllocationFailed"" (identifier "pcVar32") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "uVar7 = 400;" (assignment_expression "uVar7 = 400" (identifier "uVar7") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar31 = 0x1a3;" (assignment_expression "uVar31 = 0x1a3" (identifier "uVar31") (= "=") (number_literal "0x1a3")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (expression_statement "uVar17 = local_378[6];" (assignment_expression "uVar17 = local_378[6]" (identifier "uVar17") (= "=") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if ((uint)local_378[6] <= (uint)local_32a) {\n        uVar17 = (uint)local_32a;\n      }" (if "if") (parenthesized_expression "((uint)local_378[6] <= (uint)local_32a)" (( "(") (binary_expression "(uint)local_378[6] <= (uint)local_32a" (cast_expression "(uint)local_378[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) (<= "<=") (cast_expression "(uint)local_32a" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32a"))) () ")")) (compound_statement "{\n        uVar17 = (uint)local_32a;\n      }" ({ "{") (expression_statement "uVar17 = (uint)local_32a;" (assignment_expression "uVar17 = (uint)local_32a" (identifier "uVar17") (= "=") (cast_expression "(uint)local_32a" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32a"))) (; ";")) (} "}"))) (expression_statement "uVar22 = (uint)local_32b;" (assignment_expression "uVar22 = (uint)local_32b" (identifier "uVar22") (= "=") (cast_expression "(uint)local_32b" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32b"))) (; ";")) (if_statement "if (local_32b < 8) {\n        uVar22 = 8;\n      }" (if "if") (parenthesized_expression "(local_32b < 8)" (( "(") (binary_expression "local_32b < 8" (identifier "local_32b") (< "<") (number_literal "8")) () ")")) (compound_statement "{\n        uVar22 = 8;\n      }" ({ "{") (expression_statement "uVar22 = 8;" (assignment_expression "uVar22 = 8" (identifier "uVar22") (= "=") (number_literal "8")) (; ";")) (} "}"))) (expression_statement "memset(pbVar10,0,uVar17 * uVar22);" (call_expression "memset(pbVar10,0,uVar17 * uVar22)" (identifier "memset") (argument_list "(pbVar10,0,uVar17 * uVar22)" (( "(") (identifier "pbVar10") (, ",") (number_literal "0") (, ",") (binary_expression "uVar17 * uVar22" (identifier "uVar17") (* "*") (identifier "uVar22")) () ")"))) (; ";")) (expression_statement "__s = (undefined1 *)GetVirtualMemoryBlob(iVar6);" (assignment_expression "__s = (undefined1 *)GetVirtualMemoryBlob(iVar6)" (identifier "__s") (= "=") (cast_expression "(undefined1 *)GetVirtualMemoryBlob(iVar6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetVirtualMemoryBlob(iVar6)" (identifier "GetVirtualMemoryBlob") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))))) (; ";")) (expression_statement "memset(__s,0,uVar24 * 2);" (call_expression "memset(__s,0,uVar24 * 2)" (identifier "memset") (argument_list "(__s,0,uVar24 * 2)" (( "(") (identifier "__s") (, ",") (number_literal "0") (, ",") (binary_expression "uVar24 * 2" (identifier "uVar24") (* "*") (number_literal "2")) () ")"))) (; ";")) (expression_statement "puVar25 = __s;" (assignment_expression "puVar25 = __s" (identifier "puVar25") (= "=") (identifier "__s")) (; ";")) (if_statement "if (local_33a == '\0') {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }\n      else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }" (if "if") (parenthesized_expression "(local_33a == '\0')" (( "(") (binary_expression "local_33a == '\0'" (identifier "local_33a") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }\n      }" ({ "{") (for_statement "for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }" (for "for") (( "(") (; ";") (binary_expression "uVar24 != 0" (identifier "uVar24") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar24 = uVar24 - 1" (identifier "uVar24") (= "=") (binary_expression "uVar24 - 1" (identifier "uVar24") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n          uVar5 = ReadBlobByte(local_378);\n          iVar26 = EOFBlob(local_378);\n          if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }\n          *puVar25 = uVar5;\n          puVar25 = puVar25 + 1;\n        }" ({ "{") (expression_statement "uVar5 = ReadBlobByte(local_378);" (assignment_expression "uVar5 = ReadBlobByte(local_378)" (identifier "uVar5") (= "=") (call_expression "ReadBlobByte(local_378)" (identifier "ReadBlobByte") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "iVar26 = EOFBlob(local_378);" (assignment_expression "iVar26 = EOFBlob(local_378)" (identifier "iVar26") (= "=") (call_expression "EOFBlob(local_378)" (identifier "EOFBlob") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if (iVar26 != 0) {\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }" (if "if") (parenthesized_expression "(iVar26 != 0)" (( "(") (binary_expression "iVar26 != 0" (identifier "iVar26") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            RelinquishMagickMemory(pbVar10);\n            RelinquishVirtualMemory(iVar6);\n            if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }\n            pcVar32 = "UnexpectedEndOfFile";\n            uVar7 = 0x1a9;\n            uVar31 = 0x1b2;\n            goto LAB_00269ff0;\n          }" ({ "{") (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" (identifier "RelinquishMagickMemory") (argument_list "(pbVar10)" (( "(") (identifier "pbVar10") () ")"))) (; ";")) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" (identifier "RelinquishVirtualMemory") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (if_statement "if (local_360 != (int *)0x0) {\n              RelinquishMagickMemory(local_360);\n            }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              RelinquishMagickMemory(local_360);\n            }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" (identifier "pcVar32") (= "=") (string_literal ""UnexpectedEndOfFile"" (" """) (string_content "UnexpectedEndOfFile") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x1b2;" (assignment_expression "uVar31 = 0x1b2" (identifier "uVar31") (= "=") (number_literal "0x1b2")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (expression_statement "*puVar25 = uVar5;" (assignment_expression "*puVar25 = uVar5" (pointer_expression "*puVar25" (* "*") (identifier "puVar25")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" (identifier "puVar25") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }" (else "else") (compound_statement "{\n        for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }\n      }" ({ "{") (for_statement "for (; uVar24 != 0; uVar24 = uVar24 - 1) {\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }" (for "for") (( "(") (; ";") (binary_expression "uVar24 != 0" (identifier "uVar24") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar24 = uVar24 - 1" (identifier "uVar24") (= "=") (binary_expression "uVar24 - 1" (identifier "uVar24") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n          while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }\n          *puVar25 = (char)uVar17;\n          puVar25 = puVar25 + 1;\n        }" ({ "{") (while_statement "while( true ) {\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            uVar17 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0xc0) != 0xc0) break;\n            uVar5 = ReadBlobByte(local_378);\n            iVar26 = EOFBlob(local_378);\n            if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }\n            if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }\n          }" ({ "{") (expression_statement "uVar17 = ReadBlobByte(local_378);" (assignment_expression "uVar17 = ReadBlobByte(local_378)" (identifier "uVar17") (= "=") (call_expression "ReadBlobByte(local_378)" (identifier "ReadBlobByte") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "iVar26 = EOFBlob(local_378);" (assignment_expression "iVar26 = EOFBlob(local_378)" (identifier "iVar26") (= "=") (call_expression "EOFBlob(local_378)" (identifier "EOFBlob") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }" (if "if") (parenthesized_expression "(iVar26 != 0)" (( "(") (binary_expression "iVar26 != 0" (identifier "iVar26") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1bb;\n              goto LAB_00269ff0;\n            }" ({ "{") (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" (identifier "RelinquishMagickMemory") (argument_list "(pbVar10)" (( "(") (identifier "pbVar10") () ")"))) (; ";")) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" (identifier "RelinquishVirtualMemory") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (if_statement "if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                RelinquishMagickMemory(local_360);\n              }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" (identifier "pcVar32") (= "=") (string_literal ""UnexpectedEndOfFile"" (" """) (string_content "UnexpectedEndOfFile") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x1bb;" (assignment_expression "uVar31 = 0x1bb" (identifier "uVar31") (= "=") (number_literal "0x1bb")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (if_statement "if ((uVar17 & 0xc0) != 0xc0) break;" (if "if") (parenthesized_expression "((uVar17 & 0xc0) != 0xc0)" (( "(") (binary_expression "(uVar17 & 0xc0) != 0xc0" (parenthesized_expression "(uVar17 & 0xc0)" (( "(") (binary_expression "uVar17 & 0xc0" (identifier "uVar17") (& "&") (number_literal "0xc0")) () ")")) (!= "!=") (number_literal "0xc0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar5 = ReadBlobByte(local_378);" (assignment_expression "uVar5 = ReadBlobByte(local_378)" (identifier "uVar5") (= "=") (call_expression "ReadBlobByte(local_378)" (identifier "ReadBlobByte") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "iVar26 = EOFBlob(local_378);" (assignment_expression "iVar26 = EOFBlob(local_378)" (identifier "iVar26") (= "=") (call_expression "EOFBlob(local_378)" (identifier "EOFBlob") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if (iVar26 != 0) {\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }" (if "if") (parenthesized_expression "(iVar26 != 0)" (( "(") (binary_expression "iVar26 != 0" (identifier "iVar26") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              RelinquishMagickMemory(pbVar10);\n              RelinquishVirtualMemory(iVar6);\n              if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }\n              pcVar32 = "UnexpectedEndOfFile";\n              uVar7 = 0x1a9;\n              uVar31 = 0x1c5;\n              goto LAB_00269ff0;\n            }" ({ "{") (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" (identifier "RelinquishMagickMemory") (argument_list "(pbVar10)" (( "(") (identifier "pbVar10") () ")"))) (; ";")) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" (identifier "RelinquishVirtualMemory") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (if_statement "if (local_360 != (int *)0x0) {\n                RelinquishMagickMemory(local_360);\n              }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                RelinquishMagickMemory(local_360);\n              }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "UnexpectedEndOfFile";" (assignment_expression "pcVar32 = "UnexpectedEndOfFile"" (identifier "pcVar32") (= "=") (string_literal ""UnexpectedEndOfFile"" (" """) (string_content "UnexpectedEndOfFile") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x1c5;" (assignment_expression "uVar31 = 0x1c5" (identifier "uVar31") (= "=") (number_literal "0x1c5")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (if_statement "if ((uVar17 & 0x3f) != 0) {\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }" (if "if") (parenthesized_expression "((uVar17 & 0x3f) != 0)" (( "(") (binary_expression "(uVar17 & 0x3f) != 0" (parenthesized_expression "(uVar17 & 0x3f)" (( "(") (binary_expression "uVar17 & 0x3f" (identifier "uVar17") (& "&") (number_literal "0x3f")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar24 = uVar24 - 1;\n              *puVar25 = uVar5;\n              if (uVar24 == 0) goto LAB_00269a7c;\n              puVar18 = puVar25 + (uVar17 & 0x3f);\n              puVar11 = puVar25;\n              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }\n            }" ({ "{") (expression_statement "uVar24 = uVar24 - 1;" (assignment_expression "uVar24 = uVar24 - 1" (identifier "uVar24") (= "=") (binary_expression "uVar24 - 1" (identifier "uVar24") (- "-") (number_literal "1"))) (; ";")) (expression_statement "*puVar25 = uVar5;" (assignment_expression "*puVar25 = uVar5" (pointer_expression "*puVar25" (* "*") (identifier "puVar25")) (= "=") (identifier "uVar5")) (; ";")) (if_statement "if (uVar24 == 0) goto LAB_00269a7c;" (if "if") (parenthesized_expression "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00269a7c;" (goto "goto") (statement_identifier "LAB_00269a7c") (; ";"))) (expression_statement "puVar18 = puVar25 + (uVar17 & 0x3f);" (assignment_expression "puVar18 = puVar25 + (uVar17 & 0x3f)" (identifier "puVar18") (= "=") (binary_expression "puVar25 + (uVar17 & 0x3f)" (identifier "puVar25") (+ "+") (parenthesized_expression "(uVar17 & 0x3f)" (( "(") (binary_expression "uVar17 & 0x3f" (identifier "uVar17") (& "&") (number_literal "0x3f")) () ")")))) (; ";")) (expression_statement "puVar11 = puVar25;" (assignment_expression "puVar11 = puVar25" (identifier "puVar11") (= "=") (identifier "puVar25")) (; ";")) (while_statement "while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }" (while "while") (parenthesized_expression "(puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11)" (( "(") (comma_expression "puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11" (assignment_expression "puVar11 = puVar11 + 1" (identifier "puVar11") (= "=") (binary_expression "puVar11 + 1" (identifier "puVar11") (+ "+") (number_literal "1"))) (, ",") (comma_expression "puVar25 = puVar18, puVar18 != puVar11" (assignment_expression "puVar25 = puVar18" (identifier "puVar25") (= "=") (identifier "puVar18")) (, ",") (binary_expression "puVar18 != puVar11" (identifier "puVar18") (!= "!=") (identifier "puVar11")))) () ")")) (compound_statement "{\n                uVar24 = uVar24 - 1;\n                *puVar11 = uVar5;\n                if (uVar24 == 0) goto LAB_00269a7c;\n              }" ({ "{") (expression_statement "uVar24 = uVar24 - 1;" (assignment_expression "uVar24 = uVar24 - 1" (identifier "uVar24") (= "=") (binary_expression "uVar24 - 1" (identifier "uVar24") (- "-") (number_literal "1"))) (; ";")) (expression_statement "*puVar11 = uVar5;" (assignment_expression "*puVar11 = uVar5" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (identifier "uVar5")) (; ";")) (if_statement "if (uVar24 == 0) goto LAB_00269a7c;" (if "if") (parenthesized_expression "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00269a7c;" (goto "goto") (statement_identifier "LAB_00269a7c") (; ";"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "*puVar25 = (char)uVar17;" (assignment_expression "*puVar25 = (char)uVar17" (pointer_expression "*puVar25" (* "*") (identifier "puVar25")) (= "=") (cast_expression "(char)uVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar17"))) (; ";")) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" (identifier "puVar25") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00269a7c:\n      if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" (statement_identifier "LAB_00269a7c") (: ":") (if_statement "if (*local_378 == 1) {\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }\n      else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" (if "if") (parenthesized_expression "(*local_378 == 1)" (( "(") (binary_expression "*local_378 == 1" (pointer_expression "*local_378" (* "*") (identifier "local_378")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        local_378[0xa5] = (uint)(3 < local_32b) << 2;\n      }" ({ "{") (expression_statement "local_378[0xa5] = (uint)(3 < local_32b) << 2;" (assignment_expression "local_378[0xa5] = (uint)(3 < local_32b) << 2" (subscript_expression "local_378[0xa5]" (identifier "local_378") ([ "[") (number_literal "0xa5") (] "]")) (= "=") (binary_expression "(uint)(3 < local_32b) << 2" (call_expression "(uint)(3 < local_32b)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(3 < local_32b)" (( "(") (binary_expression "3 < local_32b" (number_literal "3") (< "<") (identifier "local_32b")) () ")"))) (<< "<<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" (else "else") (if_statement "if (local_33b == '\x05') {\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }\n      else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" (if "if") (parenthesized_expression "(local_33b == '\x05')" (( "(") (binary_expression "local_33b == '\x05'" (identifier "local_33b") (== "==") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (compound_statement "{\n        if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }\n        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;\n        if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }\n      }" ({ "{") (if_statement "if (0x100 < (uint)local_378[9]) {\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }" (if "if") (parenthesized_expression "(0x100 < (uint)local_378[9])" (( "(") (binary_expression "0x100 < (uint)local_378[9]" (number_literal "0x100") (< "<") (cast_expression "(uint)local_378[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_378[9]" (identifier "local_378") ([ "[") (number_literal "9") (] "]")))) () ")")) (compound_statement "{\nLAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);\n          RelinquishVirtualMemory(iVar6);\n          if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }\n          pcVar32 = "ColormapExceeds256Colors";\n          uVar7 = 0x1a9;\n          uVar31 = 0x1d9;\n          goto LAB_00269ff0;\n        }" ({ "{") (labeled_statement "LAB_0026aaa4:\n          RelinquishMagickMemory(pbVar10);" (statement_identifier "LAB_0026aaa4") (: ":") (expression_statement "RelinquishMagickMemory(pbVar10);" (call_expression "RelinquishMagickMemory(pbVar10)" (identifier "RelinquishMagickMemory") (argument_list "(pbVar10)" (( "(") (identifier "pbVar10") () ")"))) (; ";"))) (expression_statement "RelinquishVirtualMemory(iVar6);" (call_expression "RelinquishVirtualMemory(iVar6)" (identifier "RelinquishVirtualMemory") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (if_statement "if (local_360 != (int *)0x0) {\n            RelinquishMagickMemory(local_360);\n          }" (if "if") (parenthesized_expression "(local_360 != (int *)0x0)" (( "(") (binary_expression "local_360 != (int *)0x0" (identifier "local_360") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            RelinquishMagickMemory(local_360);\n          }" ({ "{") (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = "ColormapExceeds256Colors";" (assignment_expression "pcVar32 = "ColormapExceeds256Colors"" (identifier "pcVar32") (= "=") (string_literal ""ColormapExceeds256Colors"" (" """) (string_content "ColormapExceeds256Colors") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x1d9;" (assignment_expression "uVar31 = 0x1d9" (identifier "uVar31") (= "=") (number_literal "0x1d9")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (if_statement "if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;" (if "if") (parenthesized_expression "((uint)local_339 * (uint)local_32b == 1)" (( "(") (binary_expression "(uint)local_339 * (uint)local_32b == 1" (binary_expression "(uint)local_339 * (uint)local_32b" (cast_expression "(uint)local_339" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_339")) (* "*") (cast_expression "(uint)local_32b" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32b"))) (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0026a31e;" (goto "goto") (statement_identifier "LAB_0026a31e") (; ";"))) (if_statement "if (0x10 < (uint)local_378[9]) {\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }" (if "if") (parenthesized_expression "(0x10 < (uint)local_378[9])" (( "(") (binary_expression "0x10 < (uint)local_378[9]" (number_literal "0x10") (< "<") (cast_expression "(uint)local_378[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_378[9]" (identifier "local_378") ([ "[") (number_literal "9") (] "]")))) () ")")) (compound_statement "{\n          local_322 = ReadBlobByte(local_378);\n          ReadBlob(local_378,local_378[9] * 3,local_320);\n          fVar4 = DAT_002e814c;\n          iVar26 = local_378[9];\n          if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }\n        }" ({ "{") (expression_statement "local_322 = ReadBlobByte(local_378);" (assignment_expression "local_322 = ReadBlobByte(local_378)" (identifier "local_322") (= "=") (call_expression "ReadBlobByte(local_378)" (identifier "ReadBlobByte") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "ReadBlob(local_378,local_378[9] * 3,local_320);" (call_expression "ReadBlob(local_378,local_378[9] * 3,local_320)" (identifier "ReadBlob") (argument_list "(local_378,local_378[9] * 3,local_320)" (( "(") (identifier "local_378") (, ",") (binary_expression "local_378[9] * 3" (subscript_expression "local_378[9]" (identifier "local_378") ([ "[") (number_literal "9") (] "]")) (* "*") (number_literal "3")) (, ",") (identifier "local_320") () ")"))) (; ";")) (expression_statement "fVar4 = DAT_002e814c;" (assignment_expression "fVar4 = DAT_002e814c" (identifier "fVar4") (= "=") (identifier "DAT_002e814c")) (; ";")) (expression_statement "iVar26 = local_378[9];" (assignment_expression "iVar26 = local_378[9]" (identifier "iVar26") (= "=") (subscript_expression "local_378[9]" (identifier "local_378") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (0 < iVar26) {\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }" (if "if") (parenthesized_expression "(0 < iVar26)" (( "(") (binary_expression "0 < iVar26" (number_literal "0") (< "<") (identifier "iVar26")) () ")")) (compound_statement "{\n            pdVar15 = (double *)(local_378[10] + 0x20);\n            pbVar8 = local_320;\n            do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);\n          }" ({ "{") (expression_statement "pdVar15 = (double *)(local_378[10] + 0x20);" (assignment_expression "pdVar15 = (double *)(local_378[10] + 0x20)" (identifier "pdVar15") (= "=") (cast_expression "(double *)(local_378[10] + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_378[10] + 0x20)" (( "(") (binary_expression "local_378[10] + 0x20" (subscript_expression "local_378[10]" (identifier "local_378") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "pbVar8 = local_320;" (assignment_expression "pbVar8 = local_320" (identifier "pbVar8") (= "=") (identifier "local_320")) (; ";")) (do_statement "do {\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            } while (pbVar14 != local_320 + iVar26 * 3);" (do "do") (compound_statement "{\n              pbVar14 = pbVar8 + 3;\n              *pdVar15 = (double)((float)*pbVar8 * fVar4);\n              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);\n              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);\n              pdVar15 = pdVar15 + 10;\n              pbVar8 = pbVar14;\n            }" ({ "{") (expression_statement "pbVar14 = pbVar8 + 3;" (assignment_expression "pbVar14 = pbVar8 + 3" (identifier "pbVar14") (= "=") (binary_expression "pbVar8 + 3" (identifier "pbVar8") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*pdVar15 = (double)((float)*pbVar8 * fVar4);" (assignment_expression "*pdVar15 = (double)((float)*pbVar8 * fVar4)" (pointer_expression "*pdVar15" (* "*") (identifier "pdVar15")) (= "=") (cast_expression "(double)((float)*pbVar8 * fVar4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)*pbVar8 * fVar4)" (( "(") (binary_expression "(float)*pbVar8 * fVar4" (cast_expression "(float)*pbVar8" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (* "*") (identifier "fVar4")) () ")")))) (; ";")) (expression_statement "pdVar15[1] = (double)((float)pbVar8[1] * fVar4);" (assignment_expression "pdVar15[1] = (double)((float)pbVar8[1] * fVar4)" (subscript_expression "pdVar15[1]" (identifier "pdVar15") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(double)((float)pbVar8[1] * fVar4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)pbVar8[1] * fVar4)" (( "(") (binary_expression "(float)pbVar8[1] * fVar4" (cast_expression "(float)pbVar8[1]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]"))) (* "*") (identifier "fVar4")) () ")")))) (; ";")) (expression_statement "pdVar15[2] = (double)((float)pbVar8[2] * fVar4);" (assignment_expression "pdVar15[2] = (double)((float)pbVar8[2] * fVar4)" (subscript_expression "pdVar15[2]" (identifier "pdVar15") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double)((float)pbVar8[2] * fVar4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)pbVar8[2] * fVar4)" (( "(") (binary_expression "(float)pbVar8[2] * fVar4" (cast_expression "(float)pbVar8[2]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "pbVar8[2]" (identifier "pbVar8") ([ "[") (number_literal "2") (] "]"))) (* "*") (identifier "fVar4")) () ")")))) (; ";")) (expression_statement "pdVar15 = pdVar15 + 10;" (assignment_expression "pdVar15 = pdVar15 + 10" (identifier "pdVar15") (= "=") (binary_expression "pdVar15 + 10" (identifier "pdVar15") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "pbVar8 = pbVar14;" (assignment_expression "pbVar8 = pbVar14" (identifier "pbVar8") (= "=") (identifier "pbVar14")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar14 != local_320 + iVar26 * 3)" (( "(") (binary_expression "pbVar14 != local_320 + iVar26 * 3" (identifier "pbVar14") (!= "!=") (binary_expression "local_320 + iVar26 * 3" (identifier "local_320") (+ "+") (binary_expression "iVar26 * 3" (identifier "iVar26") (* "*") (number_literal "3")))) () ")")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" (else "else") (if_statement "if ((uint)local_339 * (uint)local_32b == 1) {\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" (if "if") (parenthesized_expression "((uint)local_339 * (uint)local_32b == 1)" (( "(") (binary_expression "(uint)local_339 * (uint)local_32b == 1" (binary_expression "(uint)local_339 * (uint)local_32b" (cast_expression "(uint)local_339" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_339")) (* "*") (cast_expression "(uint)local_32b" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32b"))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;\nLAB_0026a31e:\n        iVar26 = local_378[10];\n        *(undefined8 *)(iVar26 + 0x20) = 0;\n        *(undefined8 *)(iVar26 + 0x28) = 0;\n        *(undefined8 *)(iVar26 + 0x30) = 0;\n        fVar4 = DAT_002df8a8;\n        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;\n        *(double *)(iVar26 + 0x78) = (double)fVar4;\n        *(double *)(iVar26 + 0x80) = (double)fVar4;\n      }" ({ "{") (if_statement "if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;" (if "if") (parenthesized_expression "(0x100 < (uint)local_378[9])" (( "(") (binary_expression "0x100 < (uint)local_378[9]" (number_literal "0x100") (< "<") (cast_expression "(uint)local_378[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_378[9]" (identifier "local_378") ([ "[") (number_literal "9") (] "]")))) () ")")) (goto_statement "goto LAB_0026aaa4;" (goto "goto") (statement_identifier "LAB_0026aaa4") (; ";"))) (labeled_statement "LAB_0026a31e:\n        iVar26 = local_378[10];" (statement_identifier "LAB_0026a31e") (: ":") (expression_statement "iVar26 = local_378[10];" (assignment_expression "iVar26 = local_378[10]" (identifier "iVar26") (= "=") (subscript_expression "local_378[10]" (identifier "local_378") ([ "[") (number_literal "10") (] "]"))) (; ";"))) (expression_statement "*(undefined8 *)(iVar26 + 0x20) = 0;" (assignment_expression "*(undefined8 *)(iVar26 + 0x20) = 0" (pointer_expression "*(undefined8 *)(iVar26 + 0x20)" (* "*") (cast_expression "(undefined8 *)(iVar26 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x20)" (( "(") (binary_expression "iVar26 + 0x20" (identifier "iVar26") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(iVar26 + 0x28) = 0;" (assignment_expression "*(undefined8 *)(iVar26 + 0x28) = 0" (pointer_expression "*(undefined8 *)(iVar26 + 0x28)" (* "*") (cast_expression "(undefined8 *)(iVar26 + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x28)" (( "(") (binary_expression "iVar26 + 0x28" (identifier "iVar26") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(iVar26 + 0x30) = 0;" (assignment_expression "*(undefined8 *)(iVar26 + 0x30) = 0" (pointer_expression "*(undefined8 *)(iVar26 + 0x30)" (* "*") (cast_expression "(undefined8 *)(iVar26 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x30)" (( "(") (binary_expression "iVar26 + 0x30" (identifier "iVar26") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "fVar4 = DAT_002df8a8;" (assignment_expression "fVar4 = DAT_002df8a8" (identifier "fVar4") (= "=") (identifier "DAT_002df8a8")) (; ";")) (expression_statement "*(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;" (assignment_expression "*(double *)(iVar26 + 0x70) = (double)DAT_002df8a8" (pointer_expression "*(double *)(iVar26 + 0x70)" (* "*") (cast_expression "(double *)(iVar26 + 0x70)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x70)" (( "(") (binary_expression "iVar26 + 0x70" (identifier "iVar26") (+ "+") (number_literal "0x70")) () ")")))) (= "=") (cast_expression "(double)DAT_002df8a8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df8a8"))) (; ";")) (expression_statement "*(double *)(iVar26 + 0x78) = (double)fVar4;" (assignment_expression "*(double *)(iVar26 + 0x78) = (double)fVar4" (pointer_expression "*(double *)(iVar26 + 0x78)" (* "*") (cast_expression "(double *)(iVar26 + 0x78)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x78)" (( "(") (binary_expression "iVar26 + 0x78" (identifier "iVar26") (+ "+") (number_literal "0x78")) () ")")))) (= "=") (cast_expression "(double)fVar4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar4"))) (; ";")) (expression_statement "*(double *)(iVar26 + 0x80) = (double)fVar4;" (assignment_expression "*(double *)(iVar26 + 0x80) = (double)fVar4" (pointer_expression "*(double *)(iVar26 + 0x80)" (* "*") (cast_expression "(double *)(iVar26 + 0x80)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x80)" (( "(") (binary_expression "iVar26 + 0x80" (identifier "iVar26") (+ "+") (number_literal "0x80")) () ")")))) (= "=") (cast_expression "(double)fVar4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar4"))) (; ";")) (} "}")))))))) (expression_statement "local_364 = 0;" (assignment_expression "local_364 = 0" (identifier "local_364") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34c = 0;" (assignment_expression "local_34c = 0" (identifier "local_34c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_348 = 0;" (assignment_expression "local_348 = 0" (identifier "local_348") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < local_378[7]) {\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }" (if "if") (parenthesized_expression "(0 < local_378[7])" (( "(") (binary_expression "0 < local_378[7]" (number_literal "0") (< "<") (subscript_expression "local_378[7]" (identifier "local_378") ([ "[") (number_literal "7") (] "]"))) () ")")) (compound_statement "{\n        do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);\n      }" ({ "{") (do_statement "do {\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        } while (local_364 < iVar26);" (do "do") (compound_statement "{\n          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;\n          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);\n          if (iVar26 == 0) break;\n          uVar17 = (uint)local_32b;\n          if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }\n          fVar4 = DAT_002e814c;\n          if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }\nLAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);\n          if (iVar26 == 0) break;\n          iVar26 = local_378[7];\n          if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }\n          local_364 = local_364 + 1;\n          bVar27 = 0xfffffffe < local_34c;\n          local_34c = local_34c + 1;\n          local_348 = local_348 + (uint)bVar27;\n        }" ({ "{") (expression_statement "pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;" (assignment_expression "pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b" (identifier "pbVar8") (= "=") (binary_expression "__s + (uint)local_32a * local_364 * (uint)local_32b" (identifier "__s") (+ "+") (binary_expression "(uint)local_32a * local_364 * (uint)local_32b" (binary_expression "(uint)local_32a * local_364" (cast_expression "(uint)local_32a" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32a")) (* "*") (identifier "local_364")) (* "*") (cast_expression "(uint)local_32b" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32b"))))) (; ";")) (expression_statement "iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);" (assignment_expression "iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2)" (identifier "iVar26") (= "=") (call_expression "QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2)" (identifier "QueueAuthenticPixels") (argument_list "(local_378,0,local_364,local_378[6],1,param_2)" (( "(") (identifier "local_378") (, ",") (number_literal "0") (, ",") (identifier "local_364") (, ",") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]")) (, ",") (number_literal "1") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar26 == 0) break;" (if "if") (parenthesized_expression "(iVar26 == 0)" (( "(") (binary_expression "iVar26 == 0" (identifier "iVar26") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar17 = (uint)local_32b;" (assignment_expression "uVar17 = (uint)local_32b" (identifier "uVar17") (= "=") (cast_expression "(uint)local_32b" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32b"))) (; ";")) (if_statement "if (*local_378 == 1) {\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }\n          else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }" (if "if") (parenthesized_expression "(*local_378 == 1)" (( "(") (binary_expression "*local_378 == 1" (pointer_expression "*local_378" (* "*") (identifier "local_378")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n            if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }\nLAB_00269be4:\n            local_370 = local_378[6];\n          }" ({ "{") (if_statement "if ((local_32b != 0) && (local_32a != 0)) {\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }" (if "if") (parenthesized_expression "((local_32b != 0) && (local_32a != 0))" (( "(") (binary_expression "(local_32b != 0) && (local_32a != 0)" (parenthesized_expression "(local_32b != 0)" (( "(") (binary_expression "local_32b != 0" (identifier "local_32b") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_32a != 0)" (( "(") (binary_expression "local_32a != 0" (identifier "local_32a") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              pbVar14 = pbVar10;\n              do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);\n            }" ({ "{") (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" (identifier "pbVar14") (= "=") (identifier "pbVar10")) (; ";")) (do_statement "do {\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              } while (pbVar14 != pbVar10 + uVar17);" (do "do") (compound_statement "{\n                pbVar23 = pbVar8 + local_32a;\n                pbVar19 = pbVar14;\n                do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);\n                pbVar14 = pbVar14 + 1;\n                pbVar8 = pbVar23;\n              }" ({ "{") (expression_statement "pbVar23 = pbVar8 + local_32a;" (assignment_expression "pbVar23 = pbVar8 + local_32a" (identifier "pbVar23") (= "=") (binary_expression "pbVar8 + local_32a" (identifier "pbVar8") (+ "+") (identifier "local_32a"))) (; ";")) (expression_statement "pbVar19 = pbVar14;" (assignment_expression "pbVar19 = pbVar14" (identifier "pbVar19") (= "=") (identifier "pbVar14")) (; ";")) (do_statement "do {\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                } while (pbVar23 != pbVar8);" (do "do") (compound_statement "{\n                  bVar16 = *pbVar8;\n                  pbVar8 = pbVar8 + 1;\n                  *pbVar19 = bVar16;\n                  pbVar19 = pbVar19 + uVar17;\n                }" ({ "{") (expression_statement "bVar16 = *pbVar8;" (assignment_expression "bVar16 = *pbVar8" (identifier "bVar16") (= "=") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (; ";")) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar19 = bVar16;" (assignment_expression "*pbVar19 = bVar16" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (= "=") (identifier "bVar16")) (; ";")) (expression_statement "pbVar19 = pbVar19 + uVar17;" (assignment_expression "pbVar19 = pbVar19 + uVar17" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + uVar17" (identifier "pbVar19") (+ "+") (identifier "uVar17"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar23 != pbVar8)" (( "(") (binary_expression "pbVar23 != pbVar8" (identifier "pbVar23") (!= "!=") (identifier "pbVar8")) () ")")) (; ";")) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" (identifier "pbVar14") (= "=") (binary_expression "pbVar14 + 1" (identifier "pbVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar23;" (assignment_expression "pbVar8 = pbVar23" (identifier "pbVar8") (= "=") (identifier "pbVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar14 != pbVar10 + uVar17)" (( "(") (binary_expression "pbVar14 != pbVar10 + uVar17" (identifier "pbVar14") (!= "!=") (binary_expression "pbVar10 + uVar17" (identifier "pbVar10") (+ "+") (identifier "uVar17"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00269be4:\n            local_370 = local_378[6];" (statement_identifier "LAB_00269be4") (: ":") (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" (identifier "local_370") (= "=") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) (; ";"))) (} "}")) (else_clause "else {\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }" (else "else") (compound_statement "{\n            local_370 = local_378[6];\n            if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }\n            if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }\n          }" ({ "{") (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" (identifier "local_370") (= "=") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (1 < local_32b) {\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }" (if "if") (parenthesized_expression "(1 < local_32b)" (( "(") (binary_expression "1 < local_32b" (number_literal "1") (< "<") (identifier "local_32b")) () ")")) (compound_statement "{\n              if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }\n              uVar24 = (uint)local_32a;\n              if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }\n              goto LAB_00269be4;\n            }" ({ "{") (if_statement "if (0 < (int)local_370) {\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }" (if "if") (parenthesized_expression "(0 < (int)local_370)" (( "(") (binary_expression "0 < (int)local_370" (number_literal "0") (< "<") (cast_expression "(int)local_370" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_370"))) () ")")) (compound_statement "{\n                iVar12 = 0;\n                do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);\n              }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                } while (iVar12 < local_378[6]);" (do "do") (compound_statement "{\n                  pbVar10[iVar12] = 0;\n                  iVar12 = iVar12 + 1;\n                }" ({ "{") (expression_statement "pbVar10[iVar12] = 0;" (assignment_expression "pbVar10[iVar12] = 0" (subscript_expression "pbVar10[iVar12]" (identifier "pbVar10") ([ "[") (identifier "iVar12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar12 < local_378[6])" (( "(") (binary_expression "iVar12 < local_378[6]" (identifier "iVar12") (< "<") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "uVar24 = (uint)local_32a;" (assignment_expression "uVar24 = (uint)local_32a" (identifier "uVar24") (= "=") (cast_expression "(uint)local_32a" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_32a"))) (; ";")) (if_statement "if (uVar24 != 0) {\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }" (if "if") (parenthesized_expression "(uVar24 != 0)" (( "(") (binary_expression "uVar24 != 0" (identifier "uVar24") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar22 = 0;\n                do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);\n              }" ({ "{") (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                } while (uVar22 != uVar17);" (do "do") (compound_statement "{\n                  uVar13 = 0;\n                  do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);\n                  pbVar8 = pbVar8 + uVar24;\n                  uVar22 = uVar22 + 1;\n                }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  } while (uVar13 != uVar24);" (do "do") (compound_statement "{\n                    bVar16 = pbVar8[uVar13];\n                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));\n                    if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }\n                    if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }\n                    if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }\n                    if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }\n                    if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }\n                    if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }\n                    if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }\n                    if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }\n                    uVar13 = uVar13 + 1;\n                  }" ({ "{") (expression_statement "bVar16 = pbVar8[uVar13];" (assignment_expression "bVar16 = pbVar8[uVar13]" (identifier "bVar16") (= "=") (subscript_expression "pbVar8[uVar13]" (identifier "pbVar8") ([ "[") (identifier "uVar13") (] "]"))) (; ";")) (expression_statement "bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));" (assignment_expression "bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f))" (identifier "bVar21") (= "=") (call_expression "(byte)(1 << ((byte)uVar22 & 0x1f))" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(1 << ((byte)uVar22 & 0x1f))" (( "(") (binary_expression "1 << ((byte)uVar22 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)uVar22 & 0x1f)" (( "(") (binary_expression "(byte)uVar22 & 0x1f" (cast_expression "(byte)uVar22" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar22")) (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (if_statement "if ((char)bVar16 < '\0') {\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }" (if "if") (parenthesized_expression "((char)bVar16 < '\0')" (( "(") (binary_expression "(char)bVar16 < '\0'" (cast_expression "(char)bVar16" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar16")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;\n                    }" ({ "{") (expression_statement "pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21" (subscript_expression "pbVar10[uVar13 * 8]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (] "]")) (= "=") (binary_expression "pbVar10[uVar13 * 8] | bVar21" (subscript_expression "pbVar10[uVar13 * 8]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (] "]")) (| "|") (identifier "bVar21"))) (; ";")) (} "}"))) (if_statement "if ((bVar16 & 0x40) != 0) {\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }" (if "if") (parenthesized_expression "((bVar16 & 0x40) != 0)" (( "(") (binary_expression "(bVar16 & 0x40) != 0" (parenthesized_expression "(bVar16 & 0x40)" (( "(") (binary_expression "bVar16 & 0x40" (identifier "bVar16") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;\n                    }" ({ "{") (expression_statement "pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 1]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 1" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "1")) (] "]")) (= "=") (binary_expression "pbVar10[uVar13 * 8 + 1] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 1]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 1" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "1")) (] "]")) (| "|") (identifier "bVar21"))) (; ";")) (} "}"))) (if_statement "if ((bVar16 & 0x20) != 0) {\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }" (if "if") (parenthesized_expression "((bVar16 & 0x20) != 0)" (( "(") (binary_expression "(bVar16 & 0x20) != 0" (parenthesized_expression "(bVar16 & 0x20)" (( "(") (binary_expression "bVar16 & 0x20" (identifier "bVar16") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;\n                    }" ({ "{") (expression_statement "pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 2]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 2" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "2")) (] "]")) (= "=") (binary_expression "pbVar10[uVar13 * 8 + 2] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 2]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 2" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "2")) (] "]")) (| "|") (identifier "bVar21"))) (; ";")) (} "}"))) (if_statement "if ((bVar16 & 0x10) != 0) {\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }" (if "if") (parenthesized_expression "((bVar16 & 0x10) != 0)" (( "(") (binary_expression "(bVar16 & 0x10) != 0" (parenthesized_expression "(bVar16 & 0x10)" (( "(") (binary_expression "bVar16 & 0x10" (identifier "bVar16") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;\n                    }" ({ "{") (expression_statement "pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 3]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 3" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "3")) (] "]")) (= "=") (binary_expression "pbVar10[uVar13 * 8 + 3] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 3]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 3" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "3")) (] "]")) (| "|") (identifier "bVar21"))) (; ";")) (} "}"))) (if_statement "if ((bVar16 & 8) != 0) {\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }" (if "if") (parenthesized_expression "((bVar16 & 8) != 0)" (( "(") (binary_expression "(bVar16 & 8) != 0" (parenthesized_expression "(bVar16 & 8)" (( "(") (binary_expression "bVar16 & 8" (identifier "bVar16") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;\n                    }" ({ "{") (expression_statement "pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 4]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 4" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "4")) (] "]")) (= "=") (binary_expression "pbVar10[uVar13 * 8 + 4] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 4]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 4" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "4")) (] "]")) (| "|") (identifier "bVar21"))) (; ";")) (} "}"))) (if_statement "if ((bVar16 & 4) != 0) {\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }" (if "if") (parenthesized_expression "((bVar16 & 4) != 0)" (( "(") (binary_expression "(bVar16 & 4) != 0" (parenthesized_expression "(bVar16 & 4)" (( "(") (binary_expression "bVar16 & 4" (identifier "bVar16") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;\n                    }" ({ "{") (expression_statement "pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 5]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 5" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "5")) (] "]")) (= "=") (binary_expression "pbVar10[uVar13 * 8 + 5] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 5]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 5" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "5")) (] "]")) (| "|") (identifier "bVar21"))) (; ";")) (} "}"))) (if_statement "if ((bVar16 & 2) != 0) {\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }" (if "if") (parenthesized_expression "((bVar16 & 2) != 0)" (( "(") (binary_expression "(bVar16 & 2) != 0" (parenthesized_expression "(bVar16 & 2)" (( "(") (binary_expression "bVar16 & 2" (identifier "bVar16") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;\n                    }" ({ "{") (expression_statement "pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 6]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 6" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "6")) (] "]")) (= "=") (binary_expression "pbVar10[uVar13 * 8 + 6] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 6]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 6" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "6")) (] "]")) (| "|") (identifier "bVar21"))) (; ";")) (} "}"))) (if_statement "if ((bVar16 & 1) != 0) {\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }" (if "if") (parenthesized_expression "((bVar16 & 1) != 0)" (( "(") (binary_expression "(bVar16 & 1) != 0" (parenthesized_expression "(bVar16 & 1)" (( "(") (binary_expression "bVar16 & 1" (identifier "bVar16") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;\n                    }" ({ "{") (expression_statement "pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;" (assignment_expression "pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 7]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 7" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "7")) (] "]")) (= "=") (binary_expression "pbVar10[uVar13 * 8 + 7] | bVar21" (subscript_expression "pbVar10[uVar13 * 8 + 7]" (identifier "pbVar10") ([ "[") (binary_expression "uVar13 * 8 + 7" (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8")) (+ "+") (number_literal "7")) (] "]")) (| "|") (identifier "bVar21"))) (; ";")) (} "}"))) (expression_statement "uVar13 = uVar13 + 1;" (assignment_expression "uVar13 = uVar13 + 1" (identifier "uVar13") (= "=") (binary_expression "uVar13 + 1" (identifier "uVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar13 != uVar24)" (( "(") (binary_expression "uVar13 != uVar24" (identifier "uVar13") (!= "!=") (identifier "uVar24")) () ")")) (; ";")) (expression_statement "pbVar8 = pbVar8 + uVar24;" (assignment_expression "pbVar8 = pbVar8 + uVar24" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + uVar24" (identifier "pbVar8") (+ "+") (identifier "uVar24"))) (; ";")) (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" (identifier "uVar22") (= "=") (binary_expression "uVar22 + 1" (identifier "uVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar22 != uVar17)" (( "(") (binary_expression "uVar22 != uVar17" (identifier "uVar22") (!= "!=") (identifier "uVar17")) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_00269be4;" (goto "goto") (statement_identifier "LAB_00269be4") (; ";")) (} "}"))) (if_statement "if (local_339 == 2) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }\n            else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" (if "if") (parenthesized_expression "(local_339 == 2)" (( "(") (binary_expression "local_339 == 2" (identifier "local_339") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }\n              if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }\n            }" ({ "{") (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" (identifier "pbVar14") (= "=") (identifier "pbVar10")) (; ";")) (expression_statement "pbVar23 = pbVar10;" (assignment_expression "pbVar23 = pbVar10" (identifier "pbVar23") (= "=") (identifier "pbVar10")) (; ";")) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" (identifier "pbVar19") (= "=") (identifier "pbVar8")) (; ";")) (if_statement "if (3 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }" (if "if") (parenthesized_expression "(3 < (int)local_370)" (( "(") (binary_expression "3 < (int)local_370" (number_literal "3") (< "<") (cast_expression "(int)local_370" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_370"))) () ")")) (compound_statement "{\n                do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));\n              }" ({ "{") (do_statement "do {\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));" (do "do") (compound_statement "{\n                  pbVar14 = pbVar23 + 4;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 6;\n                  pbVar23[1] = *pbVar19 >> 4 & 3;\n                  pbVar23[2] = *pbVar19 >> 2 & 3;\n                  pbVar23[3] = *pbVar19 & 3;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                }" ({ "{") (expression_statement "pbVar14 = pbVar23 + 4;" (assignment_expression "pbVar14 = pbVar23 + 4" (identifier "pbVar14") (= "=") (binary_expression "pbVar23 + 4" (identifier "pbVar23") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pbVar8 = pbVar19 + 1;" (assignment_expression "pbVar8 = pbVar19 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar23 = *pbVar19 >> 6;" (assignment_expression "*pbVar23 = *pbVar19 >> 6" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (= "=") (binary_expression "*pbVar19 >> 6" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (>> ">>") (number_literal "6"))) (; ";")) (expression_statement "pbVar23[1] = *pbVar19 >> 4 & 3;" (assignment_expression "pbVar23[1] = *pbVar19 >> 4 & 3" (subscript_expression "pbVar23[1]" (identifier "pbVar23") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "*pbVar19 >> 4 & 3" (binary_expression "*pbVar19 >> 4" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (>> ">>") (number_literal "4")) (& "&") (number_literal "3"))) (; ";")) (expression_statement "pbVar23[2] = *pbVar19 >> 2 & 3;" (assignment_expression "pbVar23[2] = *pbVar19 >> 2 & 3" (subscript_expression "pbVar23[2]" (identifier "pbVar23") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "*pbVar19 >> 2 & 3" (binary_expression "*pbVar19 >> 2" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (>> ">>") (number_literal "2")) (& "&") (number_literal "3"))) (; ";")) (expression_statement "pbVar23[3] = *pbVar19 & 3;" (assignment_expression "pbVar23[3] = *pbVar19 & 3" (subscript_expression "pbVar23[3]" (identifier "pbVar23") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "*pbVar19 & 3" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (& "&") (number_literal "3"))) (; ";")) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" (identifier "local_370") (= "=") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "pbVar23 = pbVar14;" (assignment_expression "pbVar23 = pbVar14" (identifier "pbVar23") (= "=") (identifier "pbVar14")) (; ";")) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" (identifier "pbVar19") (= "=") (identifier "pbVar8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3))" (( "(") (binary_expression "(int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3)" (binary_expression "(int)pbVar14 - (int)pbVar10" (cast_expression "(int)pbVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar14")) (- "-") (cast_expression "(int)pbVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar10"))) (< "<") (cast_expression "(int)(local_370 - 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_370 - 3)" (( "(") (binary_expression "local_370 - 3" (identifier "local_370") (- "-") (number_literal "3")) () ")")))) () ")")) (; ";")) (} "}"))) (if_statement "if ((local_370 & 3) != 0) {\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }" (if "if") (parenthesized_expression "((local_370 & 3) != 0)" (( "(") (binary_expression "(local_370 & 3) != 0" (parenthesized_expression "(local_370 & 3)" (( "(") (binary_expression "local_370 & 3" (identifier "local_370") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar12 = 3;\n                do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);\n              }" ({ "{") (expression_statement "iVar12 = 3;" (assignment_expression "iVar12 = 3" (identifier "iVar12") (= "=") (number_literal "3")) (; ";")) (do_statement "do {\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                } while ((int)(4 - (local_370 & 3)) <= iVar12);" (do "do") (compound_statement "{\n                  cVar3 = (char)iVar12;\n                  iVar12 = iVar12 + -1;\n                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;\n                  local_370 = local_378[6];\n                  pbVar14 = pbVar14 + 1;\n                }" ({ "{") (expression_statement "cVar3 = (char)iVar12;" (assignment_expression "cVar3 = (char)iVar12" (identifier "cVar3") (= "=") (cast_expression "(char)iVar12" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar12"))) (; ";")) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;" (assignment_expression "*pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3" (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")) (= "=") (binary_expression "(byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3" (call_expression "(byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU))" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU))" (( "(") (binary_expression "(int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)" (binary_expression "(int)(uint)*pbVar8" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbVar8")) (>> ">>") (parenthesized_expression "(cVar3 * '\x02' & 0x1fU)" (( "(") (binary_expression "cVar3 * '\x02' & 0x1fU" (binary_expression "cVar3 * '\x02'" (identifier "cVar3") (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (& "&") (number_literal "0x1fU")) () ")"))) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" (identifier "local_370") (= "=") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" (identifier "pbVar14") (= "=") (binary_expression "pbVar14 + 1" (identifier "pbVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)(4 - (local_370 & 3)) <= iVar12)" (( "(") (binary_expression "(int)(4 - (local_370 & 3)) <= iVar12" (cast_expression "(int)(4 - (local_370 & 3))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(4 - (local_370 & 3))" (( "(") (binary_expression "4 - (local_370 & 3)" (number_literal "4") (- "-") (parenthesized_expression "(local_370 & 3)" (( "(") (binary_expression "local_370 & 3" (identifier "local_370") (& "&") (number_literal "3")) () ")"))) () ")"))) (<= "<=") (identifier "iVar12")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" (else "else") (if_statement "if (local_339 < 3) {\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }\n            else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" (if "if") (parenthesized_expression "(local_339 < 3)" (( "(") (binary_expression "local_339 < 3" (identifier "local_339") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n              if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }\n            }" ({ "{") (if_statement "if (local_339 == 1) {\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }" (if "if") (parenthesized_expression "(local_339 == 1)" (( "(") (binary_expression "local_339 == 1" (identifier "local_339") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                pbVar14 = pbVar10;\n                pbVar23 = pbVar10;\n                pbVar19 = pbVar8;\n                if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }\n                if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }\n              }" ({ "{") (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" (identifier "pbVar14") (= "=") (identifier "pbVar10")) (; ";")) (expression_statement "pbVar23 = pbVar10;" (assignment_expression "pbVar23 = pbVar10" (identifier "pbVar23") (= "=") (identifier "pbVar10")) (; ";")) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" (identifier "pbVar19") (= "=") (identifier "pbVar8")) (; ";")) (if_statement "if (7 < (int)local_370) {\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }" (if "if") (parenthesized_expression "(7 < (int)local_370)" (( "(") (binary_expression "7 < (int)local_370" (number_literal "7") (< "<") (cast_expression "(int)local_370" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_370"))) () ")")) (compound_statement "{\n                  do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));\n                }" ({ "{") (do_statement "do {\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));" (do "do") (compound_statement "{\n                    pbVar14 = pbVar23 + 8;\n                    pbVar8 = pbVar19 + 1;\n                    *pbVar23 = *pbVar19 >> 7 ^ 1;\n                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;\n                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;\n                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;\n                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;\n                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;\n                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;\n                    pbVar23[7] = ~*pbVar19 & 1;\n                    local_370 = local_378[6];\n                    pbVar23 = pbVar14;\n                    pbVar19 = pbVar8;\n                  }" ({ "{") (expression_statement "pbVar14 = pbVar23 + 8;" (assignment_expression "pbVar14 = pbVar23 + 8" (identifier "pbVar14") (= "=") (binary_expression "pbVar23 + 8" (identifier "pbVar23") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "pbVar8 = pbVar19 + 1;" (assignment_expression "pbVar8 = pbVar19 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar23 = *pbVar19 >> 7 ^ 1;" (assignment_expression "*pbVar23 = *pbVar19 >> 7 ^ 1" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (= "=") (binary_expression "*pbVar19 >> 7 ^ 1" (binary_expression "*pbVar19 >> 7" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (>> ">>") (number_literal "7")) (^ "^") (number_literal "1"))) (; ";")) (expression_statement "pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;" (assignment_expression "pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1" (subscript_expression "pbVar23[1]" (identifier "pbVar23") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "~(byte)((int)(uint)*pbVar19 >> 6) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 6)" (~ "~") (call_expression "(byte)((int)(uint)*pbVar19 >> 6)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((int)(uint)*pbVar19 >> 6)" (( "(") (binary_expression "(int)(uint)*pbVar19 >> 6" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbVar19")) (>> ">>") (number_literal "6")) () ")")))) (& "&") (number_literal "1"))) (; ";")) (expression_statement "pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;" (assignment_expression "pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1" (subscript_expression "pbVar23[2]" (identifier "pbVar23") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "~(byte)((int)(uint)*pbVar19 >> 5) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 5)" (~ "~") (call_expression "(byte)((int)(uint)*pbVar19 >> 5)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((int)(uint)*pbVar19 >> 5)" (( "(") (binary_expression "(int)(uint)*pbVar19 >> 5" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbVar19")) (>> ">>") (number_literal "5")) () ")")))) (& "&") (number_literal "1"))) (; ";")) (expression_statement "pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;" (assignment_expression "pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1" (subscript_expression "pbVar23[3]" (identifier "pbVar23") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "~(byte)((int)(uint)*pbVar19 >> 4) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 4)" (~ "~") (call_expression "(byte)((int)(uint)*pbVar19 >> 4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((int)(uint)*pbVar19 >> 4)" (( "(") (binary_expression "(int)(uint)*pbVar19 >> 4" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbVar19")) (>> ">>") (number_literal "4")) () ")")))) (& "&") (number_literal "1"))) (; ";")) (expression_statement "pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;" (assignment_expression "pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1" (subscript_expression "pbVar23[4]" (identifier "pbVar23") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "~(byte)((int)(uint)*pbVar19 >> 3) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 3)" (~ "~") (call_expression "(byte)((int)(uint)*pbVar19 >> 3)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((int)(uint)*pbVar19 >> 3)" (( "(") (binary_expression "(int)(uint)*pbVar19 >> 3" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbVar19")) (>> ">>") (number_literal "3")) () ")")))) (& "&") (number_literal "1"))) (; ";")) (expression_statement "pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;" (assignment_expression "pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1" (subscript_expression "pbVar23[5]" (identifier "pbVar23") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "~(byte)((int)(uint)*pbVar19 >> 2) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 2)" (~ "~") (call_expression "(byte)((int)(uint)*pbVar19 >> 2)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((int)(uint)*pbVar19 >> 2)" (( "(") (binary_expression "(int)(uint)*pbVar19 >> 2" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbVar19")) (>> ">>") (number_literal "2")) () ")")))) (& "&") (number_literal "1"))) (; ";")) (expression_statement "pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;" (assignment_expression "pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1" (subscript_expression "pbVar23[6]" (identifier "pbVar23") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "~(byte)((int)(uint)*pbVar19 >> 1) & 1" (unary_expression "~(byte)((int)(uint)*pbVar19 >> 1)" (~ "~") (call_expression "(byte)((int)(uint)*pbVar19 >> 1)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((int)(uint)*pbVar19 >> 1)" (( "(") (binary_expression "(int)(uint)*pbVar19 >> 1" (binary_expression "(int)(uint)*pbVar19" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbVar19")) (>> ">>") (number_literal "1")) () ")")))) (& "&") (number_literal "1"))) (; ";")) (expression_statement "pbVar23[7] = ~*pbVar19 & 1;" (assignment_expression "pbVar23[7] = ~*pbVar19 & 1" (subscript_expression "pbVar23[7]" (identifier "pbVar23") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "~*pbVar19 & 1" (unary_expression "~*pbVar19" (~ "~") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19"))) (& "&") (number_literal "1"))) (; ";")) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" (identifier "local_370") (= "=") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "pbVar23 = pbVar14;" (assignment_expression "pbVar23 = pbVar14" (identifier "pbVar23") (= "=") (identifier "pbVar14")) (; ";")) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" (identifier "pbVar19") (= "=") (identifier "pbVar8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7))" (( "(") (binary_expression "(int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7)" (binary_expression "(int)pbVar14 - (int)pbVar10" (cast_expression "(int)pbVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar14")) (- "-") (cast_expression "(int)pbVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar10"))) (< "<") (cast_expression "(int)(local_370 - 7)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_370 - 7)" (( "(") (binary_expression "local_370 - 7" (identifier "local_370") (- "-") (number_literal "7")) () ")")))) () ")")) (; ";")) (} "}"))) (if_statement "if ((local_370 & 7) != 0) {\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }" (if "if") (parenthesized_expression "((local_370 & 7) != 0)" (( "(") (binary_expression "(local_370 & 7) != 0" (parenthesized_expression "(local_370 & 7)" (( "(") (binary_expression "local_370 & 7" (identifier "local_370") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar12 = 7;\n                  do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);\n                }" ({ "{") (expression_statement "iVar12 = 7;" (assignment_expression "iVar12 = 7" (identifier "iVar12") (= "=") (number_literal "7")) (; ";")) (do_statement "do {\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  } while ((int)(8 - (local_370 & 7)) <= iVar12);" (do "do") (compound_statement "{\n                    bVar16 = (byte)iVar12;\n                    iVar12 = iVar12 + -1;\n                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;\n                    local_370 = local_378[6];\n                    pbVar14 = pbVar14 + 1;\n                  }" ({ "{") (expression_statement "bVar16 = (byte)iVar12;" (assignment_expression "bVar16 = (byte)iVar12" (identifier "bVar16") (= "=") (cast_expression "(byte)iVar12" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "iVar12"))) (; ";")) (expression_statement "iVar12 = iVar12 + -1;" (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;" (assignment_expression "*pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1" (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")) (= "=") (binary_expression "~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1" (unary_expression "~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f))" (~ "~") (call_expression "(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f))" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((int)(uint)*pbVar8 >> (bVar16 & 0x1f))" (( "(") (binary_expression "(int)(uint)*pbVar8 >> (bVar16 & 0x1f)" (binary_expression "(int)(uint)*pbVar8" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbVar8")) (>> ">>") (parenthesized_expression "(bVar16 & 0x1f)" (( "(") (binary_expression "bVar16 & 0x1f" (identifier "bVar16") (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (& "&") (number_literal "1"))) (; ";")) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" (identifier "local_370") (= "=") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" (identifier "pbVar14") (= "=") (binary_expression "pbVar14 + 1" (identifier "pbVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)(8 - (local_370 & 7)) <= iVar12)" (( "(") (binary_expression "(int)(8 - (local_370 & 7)) <= iVar12" (cast_expression "(int)(8 - (local_370 & 7))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(8 - (local_370 & 7))" (( "(") (binary_expression "8 - (local_370 & 7)" (number_literal "8") (- "-") (parenthesized_expression "(local_370 & 7)" (( "(") (binary_expression "local_370 & 7" (identifier "local_370") (& "&") (number_literal "7")) () ")"))) () ")"))) (<= "<=") (identifier "iVar12")) () ")")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" (else "else") (if_statement "if (local_339 == 4) {\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }\n            else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" (if "if") (parenthesized_expression "(local_339 == 4)" (( "(") (binary_expression "local_339 == 4" (identifier "local_339") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n              pbVar14 = pbVar10;\n              pbVar23 = pbVar10;\n              pbVar19 = pbVar8;\n              if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }\n              if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }\n            }" ({ "{") (expression_statement "pbVar14 = pbVar10;" (assignment_expression "pbVar14 = pbVar10" (identifier "pbVar14") (= "=") (identifier "pbVar10")) (; ";")) (expression_statement "pbVar23 = pbVar10;" (assignment_expression "pbVar23 = pbVar10" (identifier "pbVar23") (= "=") (identifier "pbVar10")) (; ";")) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" (identifier "pbVar19") (= "=") (identifier "pbVar8")) (; ";")) (if_statement "if (1 < (int)local_370) {\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }" (if "if") (parenthesized_expression "(1 < (int)local_370)" (( "(") (binary_expression "1 < (int)local_370" (number_literal "1") (< "<") (cast_expression "(int)local_370" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_370"))) () ")")) (compound_statement "{\n                do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));\n              }" ({ "{") (do_statement "do {\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));" (do "do") (compound_statement "{\n                  pbVar14 = pbVar23 + 2;\n                  pbVar8 = pbVar19 + 1;\n                  *pbVar23 = *pbVar19 >> 4;\n                  pbVar23[1] = *pbVar19 & 0xf;\n                  local_370 = local_378[6];\n                  pbVar23 = pbVar14;\n                  pbVar19 = pbVar8;\n                }" ({ "{") (expression_statement "pbVar14 = pbVar23 + 2;" (assignment_expression "pbVar14 = pbVar23 + 2" (identifier "pbVar14") (= "=") (binary_expression "pbVar23 + 2" (identifier "pbVar23") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pbVar8 = pbVar19 + 1;" (assignment_expression "pbVar8 = pbVar19 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar23 = *pbVar19 >> 4;" (assignment_expression "*pbVar23 = *pbVar19 >> 4" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (= "=") (binary_expression "*pbVar19 >> 4" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "pbVar23[1] = *pbVar19 & 0xf;" (assignment_expression "pbVar23[1] = *pbVar19 & 0xf" (subscript_expression "pbVar23[1]" (identifier "pbVar23") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "*pbVar19 & 0xf" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (& "&") (number_literal "0xf"))) (; ";")) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" (identifier "local_370") (= "=") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "pbVar23 = pbVar14;" (assignment_expression "pbVar23 = pbVar14" (identifier "pbVar23") (= "=") (identifier "pbVar14")) (; ";")) (expression_statement "pbVar19 = pbVar8;" (assignment_expression "pbVar19 = pbVar8" (identifier "pbVar19") (= "=") (identifier "pbVar8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1))" (( "(") (binary_expression "(int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1)" (binary_expression "(int)pbVar14 - (int)pbVar10" (cast_expression "(int)pbVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar14")) (- "-") (cast_expression "(int)pbVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar10"))) (< "<") (cast_expression "(int)(local_370 - 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_370 - 1)" (( "(") (binary_expression "local_370 - 1" (identifier "local_370") (- "-") (number_literal "1")) () ")")))) () ")")) (; ";")) (} "}"))) (if_statement "if ((local_370 & 1) != 0) {\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }" (if "if") (parenthesized_expression "((local_370 & 1) != 0)" (( "(") (binary_expression "(local_370 & 1) != 0" (parenthesized_expression "(local_370 & 1)" (( "(") (binary_expression "local_370 & 1" (identifier "local_370") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *pbVar14 = *pbVar8 >> 4;\n                goto LAB_00269be4;\n              }" ({ "{") (expression_statement "*pbVar14 = *pbVar8 >> 4;" (assignment_expression "*pbVar14 = *pbVar8 >> 4" (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")) (= "=") (binary_expression "*pbVar8 >> 4" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (>> ">>") (number_literal "4"))) (; ";")) (goto_statement "goto LAB_00269be4;" (goto "goto") (statement_identifier "LAB_00269be4") (; ";")) (} "}"))) (} "}")) (else_clause "else if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" (else "else") (if_statement "if (local_339 == 8) {\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" (if "if") (parenthesized_expression "(local_339 == 8)" (( "(") (binary_expression "local_339 == 8" (identifier "local_339") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n              memcpy(pbVar10,pbVar8,local_370);\n              local_370 = local_378[6];\n            }" ({ "{") (expression_statement "memcpy(pbVar10,pbVar8,local_370);" (call_expression "memcpy(pbVar10,pbVar8,local_370)" (identifier "memcpy") (argument_list "(pbVar10,pbVar8,local_370)" (( "(") (identifier "pbVar10") (, ",") (identifier "pbVar8") (, ",") (identifier "local_370") () ")"))) (; ";")) (expression_statement "local_370 = local_378[6];" (assignment_expression "local_370 = local_378[6]" (identifier "local_370") (= "=") (subscript_expression "local_378[6]" (identifier "local_378") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}"))))))))) (} "}")))) (expression_statement "fVar4 = DAT_002e814c;" (assignment_expression "fVar4 = DAT_002e814c" (identifier "fVar4") (= "=") (identifier "DAT_002e814c")) (; ";")) (if_statement "if (0 < (int)local_370) {\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }" (if "if") (parenthesized_expression "(0 < (int)local_370)" (( "(") (binary_expression "0 < (int)local_370" (number_literal "0") (< "<") (cast_expression "(int)local_370" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_370"))) () ")")) (compound_statement "{\n            sVar20 = 0;\n            iVar12 = local_378[0xa6];\n            iVar1 = *local_378;\n            iVar2 = local_378[0xaa];\n            pbVar8 = pbVar10;\n            do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);\n          }" ({ "{") (expression_statement "sVar20 = 0;" (assignment_expression "sVar20 = 0" (identifier "sVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar12 = local_378[0xa6];" (assignment_expression "iVar12 = local_378[0xa6]" (identifier "iVar12") (= "=") (subscript_expression "local_378[0xa6]" (identifier "local_378") ([ "[") (number_literal "0xa6") (] "]"))) (; ";")) (expression_statement "iVar1 = *local_378;" (assignment_expression "iVar1 = *local_378" (identifier "iVar1") (= "=") (pointer_expression "*local_378" (* "*") (identifier "local_378"))) (; ";")) (expression_statement "iVar2 = local_378[0xaa];" (assignment_expression "iVar2 = local_378[0xaa]" (identifier "iVar2") (= "=") (subscript_expression "local_378[0xaa]" (identifier "local_378") ([ "[") (number_literal "0xaa") (] "]"))) (; ";")) (expression_statement "pbVar8 = pbVar10;" (assignment_expression "pbVar8 = pbVar10" (identifier "pbVar8") (= "=") (identifier "pbVar10")) (; ";")) (do_statement "do {\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            } while (sVar20 != local_370);" (do "do") (compound_statement "{\n              while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }\n              pbVar14 = pbVar8 + 1;\n              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;\n              sVar20 = sVar20 + 1;\n              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;\n              iVar26 = iVar26 + iVar12 * 8;\n              pbVar8 = pbVar14;\n            }" ({ "{") (while_statement "while( true ) {\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                if (iVar1 == 2) break;\n                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);\n                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);\n                if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }\nLAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;\n                sVar20 = sVar20 + 1;\n                pbVar8 = pbVar14;\n                if (sVar20 == local_370) goto LAB_00269cce;\n              }" ({ "{") (if_statement "if (iVar1 == 2) break;" (if "if") (parenthesized_expression "(iVar1 == 2)" (( "(") (binary_expression "iVar1 == 2" (identifier "iVar1") (== "==") (number_literal "2")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 8) * 8)" (* "*") (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 8) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 8) * 8)" (( "(") (binary_expression "iVar26 + *(int *)(iVar2 + 8) * 8" (identifier "iVar26") (+ "+") (binary_expression "*(int *)(iVar2 + 8) * 8" (pointer_expression "*(int *)(iVar2 + 8)" (* "*") (cast_expression "(int *)(iVar2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (= "=") (cast_expression "(double)((float)*pbVar8 * fVar4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)*pbVar8 * fVar4)" (( "(") (binary_expression "(float)*pbVar8 * fVar4" (cast_expression "(float)*pbVar8" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (* "*") (identifier "fVar4")) () ")")))) (; ";")) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =\n                     (double)((float)pbVar8[1] * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8)" (* "*") (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x14) * 8)" (( "(") (binary_expression "iVar26 + *(int *)(iVar2 + 0x14) * 8" (identifier "iVar26") (+ "+") (binary_expression "*(int *)(iVar2 + 0x14) * 8" (pointer_expression "*(int *)(iVar2 + 0x14)" (* "*") (cast_expression "(int *)(iVar2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (= "=") (cast_expression "(double)((float)pbVar8[1] * fVar4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)pbVar8[1] * fVar4)" (( "(") (binary_expression "(float)pbVar8[1] * fVar4" (cast_expression "(float)pbVar8[1]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]"))) (* "*") (identifier "fVar4")) () ")")))) (; ";")) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =\n                     (double)((float)pbVar8[2] * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8)" (* "*") (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x20) * 8)" (( "(") (binary_expression "iVar26 + *(int *)(iVar2 + 0x20) * 8" (identifier "iVar26") (+ "+") (binary_expression "*(int *)(iVar2 + 0x20) * 8" (pointer_expression "*(int *)(iVar2 + 0x20)" (* "*") (cast_expression "(int *)(iVar2 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x20)" (( "(") (binary_expression "iVar2 + 0x20" (identifier "iVar2") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (= "=") (cast_expression "(double)((float)pbVar8[2] * fVar4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)pbVar8[2] * fVar4)" (( "(") (binary_expression "(float)pbVar8[2] * fVar4" (cast_expression "(float)pbVar8[2]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "pbVar8[2]" (identifier "pbVar8") ([ "[") (number_literal "2") (] "]"))) (* "*") (identifier "fVar4")) () ")")))) (; ";")) (if_statement "if (local_378[0xa5] == 0) {\n                  pbVar14 = pbVar8 + 3;\n                }\n                else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }" (if "if") (parenthesized_expression "(local_378[0xa5] == 0)" (( "(") (binary_expression "local_378[0xa5] == 0" (subscript_expression "local_378[0xa5]" (identifier "local_378") ([ "[") (number_literal "0xa5") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  pbVar14 = pbVar8 + 3;\n                }" ({ "{") (expression_statement "pbVar14 = pbVar8 + 3;" (assignment_expression "pbVar14 = pbVar8 + 3" (identifier "pbVar14") (= "=") (binary_expression "pbVar8 + 3" (identifier "pbVar8") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (else_clause "else {\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }" (else "else") (compound_statement "{\n                  pbVar14 = pbVar8 + 4;\n                  if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }\n                }" ({ "{") (expression_statement "pbVar14 = pbVar8 + 4;" (assignment_expression "pbVar14 = pbVar8 + 4" (identifier "pbVar14") (= "=") (binary_expression "pbVar8 + 4" (identifier "pbVar8") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (*(int *)(iVar2 + 0x34) != 0) {\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0x34) != 0" (pointer_expression "*(int *)(iVar2 + 0x34)" (* "*") (cast_expression "(int *)(iVar2 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x34)" (( "(") (binary_expression "iVar2 + 0x34" (identifier "iVar2") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);\n                  }" ({ "{") (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4);" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =\n                         (double)((float)pbVar8[3] * fVar4)" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x38) * 8)" (( "(") (binary_expression "iVar26 + *(int *)(iVar2 + 0x38) * 8" (identifier "iVar26") (+ "+") (binary_expression "*(int *)(iVar2 + 0x38) * 8" (pointer_expression "*(int *)(iVar2 + 0x38)" (* "*") (cast_expression "(int *)(iVar2 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x38)" (( "(") (binary_expression "iVar2 + 0x38" (identifier "iVar2") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (= "=") (cast_expression "(double)((float)pbVar8[3] * fVar4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)pbVar8[3] * fVar4)" (( "(") (binary_expression "(float)pbVar8[3] * fVar4" (cast_expression "(float)pbVar8[3]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "pbVar8[3]" (identifier "pbVar8") ([ "[") (number_literal "3") (] "]"))) (* "*") (identifier "fVar4")) () ")")))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00269c86:\n                iVar26 = iVar26 + iVar12 * 8;" (statement_identifier "LAB_00269c86") (: ":") (expression_statement "iVar26 = iVar26 + iVar12 * 8;" (assignment_expression "iVar26 = iVar26 + iVar12 * 8" (identifier "iVar26") (= "=") (binary_expression "iVar26 + iVar12 * 8" (identifier "iVar26") (+ "+") (binary_expression "iVar12 * 8" (identifier "iVar12") (* "*") (number_literal "8")))) (; ";"))) (expression_statement "sVar20 = sVar20 + 1;" (assignment_expression "sVar20 = sVar20 + 1" (identifier "sVar20") (= "=") (binary_expression "sVar20 + 1" (identifier "sVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar8 = pbVar14;" (assignment_expression "pbVar8 = pbVar14" (identifier "pbVar8") (= "=") (identifier "pbVar14")) (; ";")) (if_statement "if (sVar20 == local_370) goto LAB_00269cce;" (if "if") (parenthesized_expression "(sVar20 == local_370)" (( "(") (binary_expression "sVar20 == local_370" (identifier "sVar20") (== "==") (identifier "local_370")) () ")")) (goto_statement "goto LAB_00269cce;" (goto "goto") (statement_identifier "LAB_00269cce") (; ";"))) (} "}"))) (expression_statement "pbVar14 = pbVar8 + 1;" (assignment_expression "pbVar14 = pbVar8 + 1" (identifier "pbVar14") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x40) == 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0x40) == 0" (pointer_expression "*(int *)(iVar2 + 0x40)" (* "*") (cast_expression "(int *)(iVar2 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x40)" (( "(") (binary_expression "iVar2 + 0x40" (identifier "iVar2") (+ "+") (number_literal "0x40")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00269c86;" (goto "goto") (statement_identifier "LAB_00269c86") (; ";"))) (expression_statement "sVar20 = sVar20 + 1;" (assignment_expression "sVar20 = sVar20 + 1" (identifier "sVar20") (= "=") (binary_expression "sVar20 + 1" (identifier "sVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;" (assignment_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8" (pointer_expression "*(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8)" (* "*") (cast_expression "(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + *(int *)(iVar2 + 0x44) * 8)" (( "(") (binary_expression "iVar26 + *(int *)(iVar2 + 0x44) * 8" (identifier "iVar26") (+ "+") (binary_expression "*(int *)(iVar2 + 0x44) * 8" (pointer_expression "*(int *)(iVar2 + 0x44)" (* "*") (cast_expression "(int *)(iVar2 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x44)" (( "(") (binary_expression "iVar2 + 0x44" (identifier "iVar2") (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "8"))) () ")")))) (= "=") (cast_expression "(double)*pbVar8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")))) (; ";")) (expression_statement "iVar26 = iVar26 + iVar12 * 8;" (assignment_expression "iVar26 = iVar26 + iVar12 * 8" (identifier "iVar26") (= "=") (binary_expression "iVar26 + iVar12 * 8" (identifier "iVar26") (+ "+") (binary_expression "iVar12 * 8" (identifier "iVar12") (* "*") (number_literal "8")))) (; ";")) (expression_statement "pbVar8 = pbVar14;" (assignment_expression "pbVar8 = pbVar14" (identifier "pbVar8") (= "=") (identifier "pbVar14")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(sVar20 != local_370)" (( "(") (binary_expression "sVar20 != local_370" (identifier "sVar20") (!= "!=") (identifier "local_370")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00269cce:\n          iVar26 = SyncAuthenticPixels(local_378,param_2);" (statement_identifier "LAB_00269cce") (: ":") (expression_statement "iVar26 = SyncAuthenticPixels(local_378,param_2);" (assignment_expression "iVar26 = SyncAuthenticPixels(local_378,param_2)" (identifier "iVar26") (= "=") (call_expression "SyncAuthenticPixels(local_378,param_2)" (identifier "SyncAuthenticPixels") (argument_list "(local_378,param_2)" (( "(") (identifier "local_378") (, ",") (identifier "param_2") () ")")))) (; ";"))) (if_statement "if (iVar26 == 0) break;" (if "if") (parenthesized_expression "(iVar26 == 0)" (( "(") (binary_expression "iVar26 == 0" (identifier "iVar26") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar26 = local_378[7];" (assignment_expression "iVar26 = local_378[7]" (identifier "iVar26") (= "=") (subscript_expression "local_378[7]" (identifier "local_378") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (local_378[0xccf] == 0) {\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }" (if "if") (parenthesized_expression "(local_378[0xccf] == 0)" (( "(") (binary_expression "local_378[0xccf] == 0" (subscript_expression "local_378[0xccf]" (identifier "local_378") ([ "[") (number_literal "0xccf") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);\n            if (local_350 == 0) break;\n            iVar26 = local_378[7];\n          }" ({ "{") (expression_statement "local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);" (assignment_expression "local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0)" (identifier "local_350") (= "=") (call_expression "SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0)" (identifier "SetImageProgress") (argument_list "(local_378,"Load/Image",local_34c,local_348,iVar26,0)" (( "(") (identifier "local_378") (, ",") (string_literal ""Load/Image"" (" """) (string_content "Load/Image") (" """)) (, ",") (identifier "local_34c") (, ",") (identifier "local_348") (, ",") (identifier "iVar26") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (local_350 == 0) break;" (if "if") (parenthesized_expression "(local_350 == 0)" (( "(") (binary_expression "local_350 == 0" (identifier "local_350") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar26 = local_378[7];" (assignment_expression "iVar26 = local_378[7]" (identifier "iVar26") (= "=") (subscript_expression "local_378[7]" (identifier "local_378") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_364 = local_364 + 1;" (assignment_expression "local_364 = local_364 + 1" (identifier "local_364") (= "=") (binary_expression "local_364 + 1" (identifier "local_364") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar27 = 0xfffffffe < local_34c;" (assignment_expression "bVar27 = 0xfffffffe < local_34c" (identifier "bVar27") (= "=") (binary_expression "0xfffffffe < local_34c" (number_literal "0xfffffffe") (< "<") (identifier "local_34c"))) (; ";")) (expression_statement "local_34c = local_34c + 1;" (assignment_expression "local_34c = local_34c + 1" (identifier "local_34c") (= "=") (binary_expression "local_34c + 1" (identifier "local_34c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_348 = local_348 + (uint)bVar27;" (assignment_expression "local_348 = local_348 + (uint)bVar27" (identifier "local_348") (= "=") (binary_expression "local_348 + (uint)bVar27" (identifier "local_348") (+ "+") (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_364 < iVar26)" (( "(") (binary_expression "local_364 < iVar26" (identifier "local_364") (< "<") (identifier "iVar26")) () ")")) (; ";")) (} "}"))) (if_statement "if (*local_378 == 2) {\n        SyncImage(local_378,param_2);\n      }" (if "if") (parenthesized_expression "(*local_378 == 2)" (( "(") (binary_expression "*local_378 == 2" (pointer_expression "*local_378" (* "*") (identifier "local_378")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        SyncImage(local_378,param_2);\n      }" ({ "{") (expression_statement "SyncImage(local_378,param_2);" (call_expression "SyncImage(local_378,param_2)" (identifier "SyncImage") (argument_list "(local_378,param_2)" (( "(") (identifier "local_378") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (expression_statement "local_364 = RelinquishMagickMemory(pbVar10);" (assignment_expression "local_364 = RelinquishMagickMemory(pbVar10)" (identifier "local_364") (= "=") (call_expression "RelinquishMagickMemory(pbVar10)" (identifier "RelinquishMagickMemory") (argument_list "(pbVar10)" (( "(") (identifier "pbVar10") () ")")))) (; ";")) (expression_statement "local_36c = RelinquishVirtualMemory(iVar6);" (assignment_expression "local_36c = RelinquishVirtualMemory(iVar6)" (identifier "local_36c") (= "=") (call_expression "RelinquishVirtualMemory(iVar6)" (identifier "RelinquishVirtualMemory") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "iVar6 = EOFBlob(local_378);" (assignment_expression "iVar6 = EOFBlob(local_378)" (identifier "iVar6") (= "=") (call_expression "EOFBlob(local_378)" (identifier "EOFBlob") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piVar9 = __errno_location();\n        uVar7 = GetExceptionMessage(*piVar9);\n        ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);\n        DestroyString(uVar7);\nLAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;\n        break;\n      }" ({ "{") (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" (identifier "piVar9") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar7 = GetExceptionMessage(*piVar9);" (assignment_expression "uVar7 = GetExceptionMessage(*piVar9)" (identifier "uVar7") (= "=") (call_expression "GetExceptionMessage(*piVar9)" (identifier "GetExceptionMessage") (argument_list "(*piVar9)" (( "(") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) () ")")))) (; ";")) (expression_statement "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7);" (call_expression "ThrowMagickException\n                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",\n                   "\'%s\': %s",local_378 + 0xc6,uVar7)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/pcx.c"" (" """) (string_content "coders/pcx.c") (" """)) (, ",") (string_literal ""ReadPCXImage"" (" """) (string_content "ReadPCXImage") (" """)) (, ",") (number_literal "0x295") (, ",") (number_literal "0x1a9") (, ",") (string_literal ""UnexpectedEndOfFile"" (" """) (string_content "UnexpectedEndOfFile") (" """)) (, ",") (string_literal ""\'%s\': %s"" (" """) (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ": %s") (" """)) (, ",") (binary_expression "local_378 + 0xc6" (identifier "local_378") (+ "+") (number_literal "0xc6")) (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "DestroyString(uVar7);" (call_expression "DestroyString(uVar7)" (identifier "DestroyString") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (labeled_statement "LAB_0026aa7e:\n        if (local_360 == (int *)0x0) goto LAB_0026a58c;" (statement_identifier "LAB_0026aa7e") (: ":") (if_statement "if (local_360 == (int *)0x0) goto LAB_0026a58c;" (if "if") (parenthesized_expression "(local_360 == (int *)0x0)" (( "(") (binary_expression "local_360 == (int *)0x0" (identifier "local_360") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0026a58c;" (goto "goto") (statement_identifier "LAB_0026a58c") (; ";")))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if ((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))\n      goto LAB_0026aa7e;" (if "if") (parenthesized_expression "((*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))" (( "(") (binary_expression "(*(int *)(param_1 + 0x2c) != 0) &&\n         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91])" (( "(") (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (- "-") (number_literal "1U")) (<= "<=") (cast_expression "(uint)local_378[0x91]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_378[0x91]" (identifier "local_378") ([ "[") (number_literal "0x91") (] "]")))) () ")"))) () ")")) (goto_statement "goto LAB_0026aa7e;" (goto "goto") (statement_identifier "LAB_0026aa7e") (; ";"))) (if_statement "if (local_360 == (int *)0x0) goto LAB_0026a58c;" (if "if") (parenthesized_expression "(local_360 == (int *)0x0)" (( "(") (binary_expression "local_360 == (int *)0x0" (identifier "local_360") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0026a58c;" (goto "goto") (statement_identifier "LAB_0026a58c") (; ";"))) (if_statement "if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;" (if "if") (parenthesized_expression "(local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0)" (( "(") (binary_expression "local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0" (binary_expression "local_360[local_344 * 2 + 1] == 0" (subscript_expression "local_360[local_344 * 2 + 1]" (identifier "local_360") ([ "[") (binary_expression "local_344 * 2 + 1" (binary_expression "local_344 * 2" (identifier "local_344") (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "local_360[local_344 * 2] == 0" (subscript_expression "local_360[local_344 * 2]" (identifier "local_360") ([ "[") (binary_expression "local_344 * 2" (identifier "local_344") (* "*") (number_literal "2")) (] "]")) (== "==") (number_literal "0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);" (call_expression "SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0)" (identifier "SeekBlob") (argument_list "(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0)" (( "(") (identifier "local_378") (, ",") (subscript_expression "local_360[local_344 * 2]" (identifier "local_360") ([ "[") (binary_expression "local_344 * 2" (identifier "local_344") (* "*") (number_literal "2")) (] "]")) (, ",") (subscript_expression "local_360[local_344 * 2 + 1]" (identifier "local_360") ([ "[") (binary_expression "local_344 * 2 + 1" (binary_expression "local_344 * 2" (identifier "local_344") (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]")) (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (extraout_EDX_00 < 0) {\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }" (if "if") (parenthesized_expression "(extraout_EDX_00 < 0)" (( "(") (binary_expression "extraout_EDX_00 < 0" (identifier "extraout_EDX_00") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }\n        if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }\n        RelinquishMagickMemory(local_360);\n        pcVar32 = "ImproperImageHeader";\n        uVar7 = 0x1a9;\n        uVar31 = 0x2a4;\n        goto LAB_00269ff0;\n      }" ({ "{") (if_statement "if (local_364 != 0) {\n          RelinquishMagickMemory(local_364);\n        }" (if "if") (parenthesized_expression "(local_364 != 0)" (( "(") (binary_expression "local_364 != 0" (identifier "local_364") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishMagickMemory(local_364);\n        }" ({ "{") (expression_statement "RelinquishMagickMemory(local_364);" (call_expression "RelinquishMagickMemory(local_364)" (identifier "RelinquishMagickMemory") (argument_list "(local_364)" (( "(") (identifier "local_364") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_36c != 0) {\n          RelinquishVirtualMemory(local_36c);\n        }" (if "if") (parenthesized_expression "(local_36c != 0)" (( "(") (binary_expression "local_36c != 0" (identifier "local_36c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          RelinquishVirtualMemory(local_36c);\n        }" ({ "{") (expression_statement "RelinquishVirtualMemory(local_36c);" (call_expression "RelinquishVirtualMemory(local_36c)" (identifier "RelinquishVirtualMemory") (argument_list "(local_36c)" (( "(") (identifier "local_36c") () ")"))) (; ";")) (} "}"))) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (expression_statement "pcVar32 = "ImproperImageHeader";" (assignment_expression "pcVar32 = "ImproperImageHeader"" (identifier "pcVar32") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar7 = 0x1a9;" (assignment_expression "uVar7 = 0x1a9" (identifier "uVar7") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar31 = 0x2a4;" (assignment_expression "uVar31 = 0x2a4" (identifier "uVar31") (= "=") (number_literal "0x2a4")) (; ";")) (goto_statement "goto LAB_00269ff0;" (goto "goto") (statement_identifier "LAB_00269ff0") (; ";")) (} "}"))) (expression_statement "iVar6 = ReadBlob(local_378,1,&local_33c);" (assignment_expression "iVar6 = ReadBlob(local_378,1,&local_33c)" (identifier "iVar6") (= "=") (call_expression "ReadBlob(local_378,1,&local_33c)" (identifier "ReadBlob") (argument_list "(local_378,1,&local_33c)" (( "(") (identifier "local_378") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_33c" (& "&") (identifier "local_33c")) () ")")))) (; ";")) (if_statement "if ((iVar6 != 0) && (local_33c == '\n')) {\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }" (if "if") (parenthesized_expression "((iVar6 != 0) && (local_33c == '\n'))" (( "(") (binary_expression "(iVar6 != 0) && (local_33c == '\n')" (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_33c == '\n')" (( "(") (binary_expression "local_33c == '\n'" (identifier "local_33c") (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        AcquireNextImage(param_1,local_378,param_2);\n        iVar26 = GetNextImageInList(local_378);\n        if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }\n        local_378 = (int *)SyncNextImageInList(local_378);\n        uVar29 = GetBlobSize(local_378);\n        uVar30 = TellBlob(local_378);\n        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);\n        if (local_350 == 0) break;\n      }" ({ "{") (expression_statement "AcquireNextImage(param_1,local_378,param_2);" (call_expression "AcquireNextImage(param_1,local_378,param_2)" (identifier "AcquireNextImage") (argument_list "(param_1,local_378,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "local_378") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar26 = GetNextImageInList(local_378);" (assignment_expression "iVar26 = GetNextImageInList(local_378)" (identifier "iVar26") (= "=") (call_expression "GetNextImageInList(local_378)" (identifier "GetNextImageInList") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (if_statement "if (iVar26 == 0) {\n          local_350 = 0;\n          break;\n        }" (if "if") (parenthesized_expression "(iVar26 == 0)" (( "(") (binary_expression "iVar26 == 0" (identifier "iVar26") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_350 = 0;\n          break;\n        }" ({ "{") (expression_statement "local_350 = 0;" (assignment_expression "local_350 = 0" (identifier "local_350") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "local_378 = (int *)SyncNextImageInList(local_378);" (assignment_expression "local_378 = (int *)SyncNextImageInList(local_378)" (identifier "local_378") (= "=") (cast_expression "(int *)SyncNextImageInList(local_378)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "SyncNextImageInList(local_378)" (identifier "SyncNextImageInList") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")"))))) (; ";")) (expression_statement "uVar29 = GetBlobSize(local_378);" (assignment_expression "uVar29 = GetBlobSize(local_378)" (identifier "uVar29") (= "=") (call_expression "GetBlobSize(local_378)" (identifier "GetBlobSize") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "uVar30 = TellBlob(local_378);" (assignment_expression "uVar30 = TellBlob(local_378)" (identifier "uVar30") (= "=") (call_expression "TellBlob(local_378)" (identifier "TellBlob") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (expression_statement "local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);" (assignment_expression "local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29)" (identifier "local_350") (= "=") (call_expression "SetImageProgress(local_378,"Load/Images",uVar30,uVar29)" (identifier "SetImageProgress") (argument_list "(local_378,"Load/Images",uVar30,uVar29)" (( "(") (identifier "local_378") (, ",") (string_literal ""Load/Images"" (" """) (string_content "Load/Images") (" """)) (, ",") (identifier "uVar30") (, ",") (identifier "uVar29") () ")")))) (; ";")) (if_statement "if (local_350 == 0) break;" (if "if") (parenthesized_expression "(local_350 == 0)" (( "(") (binary_expression "local_350 == 0" (identifier "local_350") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "local_344 = local_344 + 1;" (assignment_expression "local_344 = local_344 + 1" (identifier "local_344") (= "=") (binary_expression "local_344 + 1" (identifier "local_344") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_344 != 0x400)" (( "(") (binary_expression "local_344 != 0x400" (identifier "local_344") (!= "!=") (number_literal "0x400")) () ")")) (; ";")) (expression_statement "RelinquishMagickMemory(local_360);" (call_expression "RelinquishMagickMemory(local_360)" (identifier "RelinquishMagickMemory") (argument_list "(local_360)" (( "(") (identifier "local_360") () ")"))) (; ";")) (labeled_statement "LAB_0026a58c:\n    CloseBlob(local_378);" (statement_identifier "LAB_0026a58c") (: ":") (expression_statement "CloseBlob(local_378);" (call_expression "CloseBlob(local_378)" (identifier "CloseBlob") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")"))) (; ";"))) (if_statement "if (local_350 == 0) {\n      uVar7 = DestroyImageList(local_378);\n    }\n    else {\n      uVar7 = GetFirstImageInList(local_378);\n    }" (if "if") (parenthesized_expression "(local_350 == 0)" (( "(") (binary_expression "local_350 == 0" (identifier "local_350") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar7 = DestroyImageList(local_378);\n    }" ({ "{") (expression_statement "uVar7 = DestroyImageList(local_378);" (assignment_expression "uVar7 = DestroyImageList(local_378)" (identifier "uVar7") (= "=") (call_expression "DestroyImageList(local_378)" (identifier "DestroyImageList") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      uVar7 = GetFirstImageInList(local_378);\n    }" (else "else") (compound_statement "{\n      uVar7 = GetFirstImageInList(local_378);\n    }" ({ "{") (expression_statement "uVar7 = GetFirstImageInList(local_378);" (assignment_expression "uVar7 = GetFirstImageInList(local_378)" (identifier "uVar7") (= "=") (call_expression "GetFirstImageInList(local_378)" (identifier "GetFirstImageInList") (argument_list "(local_378)" (( "(") (identifier "local_378") () ")")))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_002690c4:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }" (statement_identifier "LAB_002690c4") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_002decd0();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_002decd0();\n  }" ({ "{") (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" (identifier "FUN_002decd0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return uVar7;" (return "return") (identifier "uVar7") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogEventType": Some values do not have unique names */

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

{
  int var_90;
  type_4 var_71;
  type_5 *pPVar3;
  type_6 *pPVar4;
  char var_69;
  float var_41;
  int var_12;
  type_7 var_14;
  type_1 *var_86;
  ssize_t var_26;
  type_8 var_40;
  type_9 *var_43;
  int *piVar13;
  size_t var_34;
  type_9 *var_38;
  type_10 *var_49;
  type_11 *var_60;
  int var_54;
  type_11 *var_56;
  type_12 *var_62;
  type_7 var_65;
  type_9 *var_59;
  type_13 *var_42;
  void *var_50;
  type_9 var_67;
  type_11 *var_57;
  type_9 *var_63;
  size_t var_74;
  type_9 var_66;
  type_7 var_46;
  type_9 *var_64;
  type_7 var_45;
  type_11 *var_55;
  type_7 *var_18;
  size_t var_35;
  int var_1;
  bool bVar33;
  type_9 bVar34;
  type_14 var_20;
  type_15 var_33;
  type_16 EVar37;
  char *pcVar38;
  type_1 *var_22;
  size_t var_68;
  type_10 *var_28;
  void *var_27;
  type_7 *var_16;
  type_10 *var_51;
  type_8 var_9;
  type_7 var_78;
  int var_79;
  int var_83;
  type_17 pcx_info;
  type_18 var_44 [768];
  
  bVar34 = 0;
  var_90 = *(int *)(var_1 + 0x14);
  if (var_2 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"
                 );
  }
  if (var_2->debug != var_4) {
    var_5(TraceEvent,"coders/pcx.c","ReadPCXImage",0x10e,"%s",var_2->filename);
  }
  if (var_6 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");
  }
  if (var_6->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")
    ;
  }
  var_22 = var_7(var_2,var_6);
  var_9 = var_8(var_2,var_22,ReadBinaryBlobMode,var_6);
  if (var_9 == var_4) {
    var_10(var_22);
    var_86 = (type_1 *)0x0;
    goto LAB_002690c4;
  }
  var_12 = var_11(var_2->magick,"DCX");
  if (var_12 == 0) {
    var_14 = var_13(var_22);
    if (var_14 == 0x3ade68b1) {
      var_16 = (type_7 *)var_15(0x400,8);
      var_18 = var_16;
      if (var_16 == (type_7 *)0x0) {
        pcVar38 = "MemoryAllocationFailed";
        EVar37 = ErrorException;
        var_34 = 0x12d;
LAB_0026a2c8:
        var_17
                  (var_6,"coders/pcx.c","ReadPCXImage",var_34,EVar37,pcVar38,"`%s\'",
                   var_2->filename);
      }
      else {
        do {
          var_14 = var_13(var_22);
          var_18[1] = 0;
          *var_18 = var_14;
          if (var_14 == 0) break;
          var_18 = var_18 + 2;
        } while (var_18 != var_16 + 0x800);
        var_20 = var_19(var_22,*(type_14 *)var_16,0);
        if (-1 < var_20) goto LAB_0026919c;
        var_21(var_16);
        var_17
                  (var_6,"coders/pcx.c","ReadPCXImage",0x139,CorruptImageError,
                   "ImproperImageHeader","`%s\'",var_2->filename);
      }
    }
    else {
      var_17
                (var_6,"coders/pcx.c","ReadPCXImage",0x129,CorruptImageError,
                 "ImproperImageHeader","`%s\'",var_2->filename);
    }
    if (var_22 != (type_1 *)0x0) {
LAB_002690b2:
      var_23(var_22);
      var_10(var_22);
    }
    var_86 = (type_1 *)0x0;
  }
  else {
    var_16 = (type_7 *)0x0;
LAB_0026919c:
    var_26 = var_24(var_22,1,&pcx_info);
    var_27 = (void *)0x0;
    var_83 = 1;
    var_28 = (type_10 *)0x0;
    do {
      var_12 = var_25(var_22);
      pcx_info.version = (type_18)var_12;
      if ((var_26 != 1) || (pcx_info.identifier != '\n')) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x146;
        goto LAB_0026a2c8;
      }
      var_12 = var_25(var_22);
      pcx_info.encoding = (type_18)var_12;
      var_12 = var_25(var_22);
      if (var_12 == -1) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x14a;
        goto LAB_0026a2c8;
      }
      pcx_info.bits_per_pixel = (type_18)var_12;
      pcx_info.left = var_30(var_22);
      pcx_info.top = var_30(var_22);
      pcx_info.right = var_30(var_22);
      pcx_info.bottom = var_30(var_22);
      pcx_info.horizontal_resolution = var_30(var_22);
      pcx_info.vertical_resolution = var_30(var_22);
      var_12 = var_31(var_22);
      if (var_12 != 0) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "UnexpectedEndOfFile";
        EVar37 = CorruptImageError;
        var_34 = 0x153;
        goto LAB_0026a2c8;
      }
      if (((pcx_info.right < pcx_info.left) || (pcx_info.bottom < pcx_info.top)) ||
         (((pcx_info.bits_per_pixel - 4 & 0xfb) != 0 && (1 < (type_9)(pcx_info.bits_per_pixel - 1)))))
      {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x15a;
        goto LAB_0026a2c8;
      }
      var_34 = ((type_7)pcx_info.right - (type_7)pcx_info.left) + 1;
      var_35 = ((type_7)pcx_info.bottom - (type_7)pcx_info.top) + 1;
      var_22->depth = (type_7)pcx_info.bits_per_pixel;
      var_22->columns = var_34;
      (var_22->resolution).x = (double)pcx_info.horizontal_resolution;
      var_22->rows = var_35;
      var_22->units = PixelsPerInchResolution;
      (var_22->resolution).y = (double)pcx_info.vertical_resolution;
      var_22->colors = 0x10;
      if (((var_2->ping != var_4) && (var_2->number_scenes != 0)) &&
         ((var_2->number_scenes + var_2->scene) - 1 <= var_22->scene))
      goto LAB_0026aa7e;
      var_33 = var_32(var_22);
      if (((int)(var_33 >> 0x20) == 0) && ((type_7)var_33 < (var_34 * var_35) / 0xff)) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "InsufficientImageDataInFile";
        EVar37 = CorruptImageError;
        var_34 = 0x166;
LAB_00269ff0:
        var_17
                  (var_6,"coders/pcx.c","ReadPCXImage",var_34,EVar37,pcVar38,"`%s\'",
                   var_2->filename);
        goto LAB_002690b2;
      }
      var_9 = var_36(var_22,var_22->columns,var_22->rows,var_6);
      if (var_9 == var_4) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = var_6->reason;
        if (var_6->reason == (char *)0x0) {
          pcVar38 = "unknown";
        }
        EVar37 = var_6->severity;
        var_34 = 0x169;
        goto LAB_00269ff0;
      }
      var_37(var_22,var_6);
      var_38 = var_44;
      for (var_12 = 0xc0; var_12 != 0; var_12 = var_12 + -1) {
        var_38[0] = 0;
        var_38[1] = 0;
        var_38[2] = 0;
        var_38[3] = 0;
        var_38 = var_38 + (type_7)bVar34 * -8 + 4;
      }
      var_26 = var_24(var_22,var_22->colors * 3,var_44);
      if (var_22->colors * 3 != var_26) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x16e;
        goto LAB_00269ff0;
      }
      var_12 = var_25(var_22);
      pcx_info.reserved = (type_18)var_12;
      var_14 = var_25(var_22);
      pcx_info.planes = (type_18)var_14;
      if (pcx_info.planes == 0) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x172;
        goto LAB_00269ff0;
      }
      if (6 < pcx_info.planes) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x174;
        goto LAB_00269ff0;
      }
      var_14 = (var_14 & 0xff) * (type_7)pcx_info.bits_per_pixel;
      if (0x3f < var_14) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x176;
        goto LAB_00269ff0;
      }
      if (((pcx_info.planes == 1) || (pcx_info.bits_per_pixel != '\b')) &&
         (((pcx_info.version - 3 & 0xfd) == 0 || (var_14 == 1)))) {
        var_34 = 1 << ((type_9)var_14 & 0x1f);
        if (0x100 < var_34) {
          var_34 = 0x100;
        }
        var_22->colors = var_34;
      }
      else {
        var_34 = var_22->colors;
      }
      var_40 = var_39(var_22,var_34,var_6);
      if (var_40 == var_4) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "MemoryAllocationFailed";
        EVar37 = ErrorException;
        var_34 = 0x17e;
        goto LAB_00269ff0;
      }
      if ((7 < pcx_info.bits_per_pixel) && (pcx_info.planes != '\x01')) {
        var_22->storage_class = var_58;
      }
      var_41 = DAT_002e814c;
      var_34 = var_22->colors;
      if (0 < (int)var_34) {
        var_38 = var_44;
        var_42 = &var_22->colormap->red;
        do {
          var_43 = var_38 + 3;
          *var_42 = (double)((float)*var_38 * var_41);
          var_42[1] = (double)((float)var_38[1] * var_41);
          var_42[2] = (double)((float)var_38[2] * var_41);
          var_38 = var_43;
          var_42 = var_42 + 10;
        } while (var_43 != var_44 + var_34 * 3);
      }
      pcx_info.bytes_per_line = var_30(var_22);
      pcx_info.palette_info = var_30(var_22);
      pcx_info.horizontal_screensize = var_30(var_22);
      pcx_info.vertical_screensize = var_30(var_22);
      var_12 = 0x36;
      do {
        var_25(var_22);
        var_12 = var_12 + -1;
      } while (var_12 != 0);
      var_45 = (type_7)pcx_info.bytes_per_line;
      var_14 = var_22->rows;
      if ((var_14 == 0) || (var_45 == 0)) {
LAB_0026963a:
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x192;
        goto LAB_00269ff0;
      }
      var_46 = var_45 * var_14;
      if (var_45 != var_46 / var_14) {
        piVar13 = var_47();
        *piVar13 = 0xc;
        goto LAB_0026963a;
      }
      var_14 = (type_7)pcx_info.planes;
      if ((var_46 == 0) || (var_14 == 0)) {
LAB_002696ee:
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x194;
        goto LAB_00269ff0;
      }
      var_45 = var_14 * var_46;
      if (var_14 != var_45 / var_46) {
        piVar13 = var_47();
        *piVar13 = 0xc;
        goto LAB_002696ee;
      }
      var_14 = pcx_info.bits_per_pixel * var_14 * var_22->columns;
      if (var_45 * 8 <= var_14 && var_14 + var_45 * -8 != 0) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x196;
        goto LAB_00269ff0;
      }
      var_33 = var_32(var_22);
      if ((var_33 < 0x100000000) && ((type_7)var_33 < (var_45 >> 5) + 0x80)) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x198;
        goto LAB_00269ff0;
      }
      var_34 = (size_t)pcx_info.planes;
      if (pcx_info.planes < 8) {
        var_34 = 8;
      }
      var_14 = (type_7)pcx_info.bytes_per_line;
      if ((type_7)pcx_info.bytes_per_line < var_22->columns) {
        var_14 = var_22->columns;
      }
      var_38 = (type_9 *)var_15(var_14,var_34);
      var_49 = var_48(var_45,2);
      if ((var_38 == (type_9 *)0x0) || (var_49 == (type_10 *)0x0)) {
        if (var_38 == (type_9 *)0x0) {
          if (var_49 != (type_10 *)0x0) {
            var_51 = var_29(var_49);
            goto LAB_0026ab65;
          }
        }
        else {
          var_50 = var_21(var_38);
          if (var_49 == (type_10 *)0x0) {
            var_51 = (type_10 *)0x0;
            if (var_50 == (void *)0x0) goto LAB_0026ab7d;
          }
          else {
            var_51 = var_29(var_49);
            if (var_50 == (void *)0x0) goto LAB_0026ab65;
          }
          var_21(var_50);
LAB_0026ab65:
          if (var_51 != (type_10 *)0x0) {
            var_29(var_51);
          }
        }
LAB_0026ab7d:
        if (var_16 != (type_7 *)0x0) {
          var_21(var_16);
        }
        pcVar38 = "MemoryAllocationFailed";
        EVar37 = ErrorException;
        var_34 = 0x1a3;
        goto LAB_00269ff0;
      }
      var_14 = var_22->columns;
      if (var_22->columns <= (type_7)pcx_info.bytes_per_line) {
        var_14 = (type_7)pcx_info.bytes_per_line;
      }
      var_46 = (type_7)pcx_info.planes;
      if (pcx_info.planes < 8) {
        var_46 = 8;
      }
      var_52(var_38,0,var_14 * var_46);
      var_60 = (type_11 *)var_53(var_49);
      var_52(var_60,0,var_45 * 2);
      var_55 = var_60;
      if (pcx_info.encoding == '\0') {
        for (; var_45 != 0; var_45 = var_45 - 1) {
          var_12 = var_25(var_22);
          var_54 = var_31(var_22);
          if (var_54 != 0) {
            var_21(var_38);
            var_29(var_49);
            if (var_16 != (type_7 *)0x0) {
              var_21(var_16);
            }
            pcVar38 = "UnexpectedEndOfFile";
            EVar37 = CorruptImageError;
            var_34 = 0x1b2;
            goto LAB_00269ff0;
          }
          var_68._0_1_ = (type_11)var_12;
          *var_55 = (type_11)var_68;
          var_55 = var_55 + 1;
        }
      }
      else {
        for (; var_45 != 0; var_45 = var_45 - 1) {
          while( true ) {
            var_14 = var_25(var_22);
            var_12 = var_31(var_22);
            if (var_12 != 0) {
              var_21(var_38);
              var_29(var_49);
              if (var_16 != (type_7 *)0x0) {
                var_21(var_16);
              }
              pcVar38 = "UnexpectedEndOfFile";
              EVar37 = CorruptImageError;
              var_34 = 0x1bb;
              goto LAB_00269ff0;
            }
            if ((var_14 & 0xc0) != 0xc0) break;
            var_12 = var_25(var_22);
            var_54 = var_31(var_22);
            if (var_54 != 0) {
              var_21(var_38);
              var_29(var_49);
              if (var_16 != (type_7 *)0x0) {
                var_21(var_16);
              }
              pcVar38 = "UnexpectedEndOfFile";
              EVar37 = CorruptImageError;
              var_34 = 0x1c5;
              goto LAB_00269ff0;
            }
            if ((var_14 & 0x3f) != 0) {
              var_45 = var_45 - 1;
              *var_55 = (char)var_12;
              if (var_45 == 0) goto LAB_00269a7c;
              var_57 = var_55 + (var_14 & 0x3f);
              var_56 = var_55;
              while (var_56 = var_56 + 1, var_55 = var_57, var_57 != var_56) {
                var_45 = var_45 - 1;
                *var_56 = (char)var_12;
                if (var_45 == 0) goto LAB_00269a7c;
              }
            }
          }
          *var_55 = (char)var_14;
          var_55 = var_55 + 1;
        }
      }
LAB_00269a7c:
      if (var_22->storage_class == var_58) {
        var_22->alpha_trait = (type_7)(3 < pcx_info.planes) << 2;
      }
      else if (pcx_info.version == '\x05') {
        if (0x100 < var_22->colors) {
LAB_0026aaa4:
          var_21(var_38);
          var_29(var_49);
          if (var_16 != (type_7 *)0x0) {
            var_21(var_16);
          }
          pcVar38 = "ColormapExceeds256Colors";
          EVar37 = CorruptImageError;
          var_34 = 0x1d9;
          goto LAB_00269ff0;
        }
        if ((type_7)pcx_info.bits_per_pixel * (type_7)pcx_info.planes == 1) goto LAB_0026a31e;
        if (0x10 < var_22->colors) {
          var_12 = var_25(var_22);
          pcx_info.colormap_signature = (type_18)var_12;
          var_24(var_22,var_22->colors * 3,var_44);
          var_41 = DAT_002e814c;
          var_34 = var_22->colors;
          if (0 < (int)var_34) {
            var_42 = &var_22->colormap->red;
            var_43 = var_44;
            do {
              var_59 = var_43 + 3;
              *var_42 = (double)((float)*var_43 * var_41);
              var_42[1] = (double)((float)var_43[1] * var_41);
              var_42[2] = (double)((float)var_43[2] * var_41);
              var_42 = var_42 + 10;
              var_43 = var_59;
            } while (var_59 != var_44 + var_34 * 3);
          }
        }
      }
      else if ((type_7)pcx_info.bits_per_pixel * (type_7)pcx_info.planes == 1) {
        if (0x100 < var_22->colors) goto LAB_0026aaa4;
LAB_0026a31e:
        pPVar4 = var_22->colormap;
        pPVar4->red = 0.0;
        pPVar4->green = 0.0;
        pPVar4->blue = 0.0;
        var_41 = DAT_002df8a8;
        pPVar4[1].red = (double)DAT_002df8a8;
        pPVar4[1].green = (double)var_41;
        pPVar4[1].blue = (double)var_41;
      }
      var_27 = (void *)0x0;
      var_78 = 0;
      var_79 = 0;
      if (0 < (int)var_22->rows) {
        do {
          var_43 = var_60 + (type_7)pcx_info.bytes_per_line * (int)var_27 * (type_7)pcx_info.planes;
          var_62 = var_61
                              (var_22,0,(ssize_t)var_27,var_22->columns,1,var_6);
          if (var_62 == (type_12 *)0x0) break;
          var_14 = (type_7)pcx_info.planes;
          if (var_22->storage_class == var_58) {
            if ((pcx_info.planes != '\0') && (pcx_info.bytes_per_line != 0)) {
              var_59 = var_38;
              do {
                var_64 = var_43 + pcx_info.bytes_per_line;
                var_63 = var_59;
                do {
                  var_67 = *var_43;
                  var_43 = var_43 + 1;
                  *var_63 = var_67;
                  var_63 = var_63 + var_14;
                } while (var_64 != var_43);
                var_59 = var_59 + 1;
                var_43 = var_64;
              } while (var_59 != var_38 + var_14);
            }
LAB_00269be4:
            var_68 = var_22->columns;
          }
          else {
            var_68 = var_22->columns;
            if (1 < pcx_info.planes) {
              if (0 < (int)var_68) {
                var_12 = 0;
                do {
                  var_38[var_12] = 0;
                  var_12 = var_12 + 1;
                } while (var_12 < (int)var_22->columns);
              }
              var_45 = (type_7)pcx_info.bytes_per_line;
              if (var_45 != 0) {
                var_46 = 0;
                do {
                  var_65 = 0;
                  do {
                    var_67 = var_43[var_65];
                    var_66 = (type_9)(1 << ((type_9)var_46 & 0x1f));
                    if ((char)var_67 < '\0') {
                      var_38[var_65 * 8] = var_38[var_65 * 8] | var_66;
                    }
                    if ((var_67 & 0x40) != 0) {
                      var_38[var_65 * 8 + 1] = var_38[var_65 * 8 + 1] | var_66;
                    }
                    if ((var_67 & 0x20) != 0) {
                      var_38[var_65 * 8 + 2] = var_38[var_65 * 8 + 2] | var_66;
                    }
                    if ((var_67 & 0x10) != 0) {
                      var_38[var_65 * 8 + 3] = var_38[var_65 * 8 + 3] | var_66;
                    }
                    if ((var_67 & 8) != 0) {
                      var_38[var_65 * 8 + 4] = var_38[var_65 * 8 + 4] | var_66;
                    }
                    if ((var_67 & 4) != 0) {
                      var_38[var_65 * 8 + 5] = var_38[var_65 * 8 + 5] | var_66;
                    }
                    if ((var_67 & 2) != 0) {
                      var_38[var_65 * 8 + 6] = var_38[var_65 * 8 + 6] | var_66;
                    }
                    if ((var_67 & 1) != 0) {
                      var_38[var_65 * 8 + 7] = var_38[var_65 * 8 + 7] | var_66;
                    }
                    var_65 = var_65 + 1;
                  } while (var_65 != var_45);
                  var_43 = var_43 + var_45;
                  var_46 = var_46 + 1;
                } while (var_46 != var_14);
              }
              goto LAB_00269be4;
            }
            if (pcx_info.bits_per_pixel == '\x02') {
              var_59 = var_38;
              var_64 = var_38;
              var_63 = var_43;
              if (3 < (int)var_68) {
                do {
                  var_59 = var_64 + 4;
                  var_43 = var_63 + 1;
                  *var_64 = *var_63 >> 6;
                  var_64[1] = *var_63 >> 4 & 3;
                  var_64[2] = *var_63 >> 2 & 3;
                  var_64[3] = *var_63 & 3;
                  var_68 = var_22->columns;
                  var_64 = var_59;
                  var_63 = var_43;
                } while ((int)var_59 - (int)var_38 < (int)(var_68 - 3));
              }
              if ((var_68 & 3) != 0) {
                var_12 = 3;
                do {
                  var_69 = (char)var_12;
                  var_12 = var_12 + -1;
                  *var_59 = (type_9)((int)(type_7)*var_43 >> (var_69 * '\x02' & 0x1fU)) & 3;
                  var_68 = var_22->columns;
                  var_59 = var_59 + 1;
                } while ((int)(4 - (var_68 & 3)) <= var_12);
              }
            }
            else if (pcx_info.bits_per_pixel < 3) {
              if (pcx_info.bits_per_pixel == '\x01') {
                var_59 = var_38;
                var_64 = var_38;
                var_63 = var_43;
                if (7 < (int)var_68) {
                  do {
                    var_59 = var_64 + 8;
                    var_43 = var_63 + 1;
                    *var_64 = *var_63 >> 7 ^ 1;
                    var_64[1] = ~(type_9)((int)(type_7)*var_63 >> 6) & 1;
                    var_64[2] = ~(type_9)((int)(type_7)*var_63 >> 5) & 1;
                    var_64[3] = ~(type_9)((int)(type_7)*var_63 >> 4) & 1;
                    var_64[4] = ~(type_9)((int)(type_7)*var_63 >> 3) & 1;
                    var_64[5] = ~(type_9)((int)(type_7)*var_63 >> 2) & 1;
                    var_64[6] = ~(type_9)((int)(type_7)*var_63 >> 1) & 1;
                    var_64[7] = ~*var_63 & 1;
                    var_68 = var_22->columns;
                    var_64 = var_59;
                    var_63 = var_43;
                  } while ((int)var_59 - (int)var_38 < (int)(var_68 - 7));
                }
                if ((var_68 & 7) != 0) {
                  var_12 = 7;
                  do {
                    var_67 = (type_9)var_12;
                    var_12 = var_12 + -1;
                    *var_59 = ~(type_9)((int)(type_7)*var_43 >> (var_67 & 0x1f)) & 1;
                    var_68 = var_22->columns;
                    var_59 = var_59 + 1;
                  } while ((int)(8 - (var_68 & 7)) <= var_12);
                }
              }
            }
            else if (pcx_info.bits_per_pixel == '\x04') {
              var_59 = var_38;
              var_64 = var_38;
              var_63 = var_43;
              if (1 < (int)var_68) {
                do {
                  var_59 = var_64 + 2;
                  var_43 = var_63 + 1;
                  *var_64 = *var_63 >> 4;
                  var_64[1] = *var_63 & 0xf;
                  var_68 = var_22->columns;
                  var_64 = var_59;
                  var_63 = var_43;
                } while ((int)var_59 - (int)var_38 < (int)(var_68 - 1));
              }
              if ((var_68 & 1) != 0) {
                *var_59 = *var_43 >> 4;
                goto LAB_00269be4;
              }
            }
            else if (pcx_info.bits_per_pixel == '\b') {
              var_70(var_38,var_43,var_68);
              var_68 = var_22->columns;
            }
          }
          var_41 = DAT_002e814c;
          if (0 < (int)var_68) {
            var_74 = 0;
            var_34 = var_22->number_channels;
            var_71 = var_22->storage_class;
            pPVar3 = var_22->channel_map;
            var_43 = var_38;
            do {
              while( true ) {
                if (var_71 == var_72) break;
                var_62[pPVar3->offset] = (double)((float)*var_43 * var_41);
                var_62[pPVar3[1].offset] = (double)((float)var_43[1] * var_41);
                var_62[pPVar3[2].offset] = (double)((float)var_43[2] * var_41);
                if (var_22->alpha_trait == var_73) {
                  var_59 = var_43 + 3;
                }
                else {
                  var_59 = var_43 + 4;
                  if (pPVar3[4].traits != var_73) {
                    var_62[pPVar3[4].offset] = (double)((float)var_43[3] * var_41);
                  }
                }
LAB_00269c86:
                var_62 = var_62 + var_34;
                var_74 = var_74 + 1;
                var_43 = var_59;
                if (var_74 == var_68) goto LAB_00269cce;
              }
              var_59 = var_43 + 1;
              if (pPVar3[5].traits == var_73) goto LAB_00269c86;
              var_74 = var_74 + 1;
              var_62[pPVar3[5].offset] = (double)*var_43;
              var_62 = var_62 + var_34;
              var_43 = var_59;
            } while (var_74 != var_68);
          }
LAB_00269cce:
          var_40 = var_75(var_22,var_6);
          if (var_40 == var_4) break;
          var_14 = var_22->rows;
          if (var_22->previous == (type_19 *)0x0) {
            var_9 = var_76(var_22,"Load/Image",var_77(var_79,var_78),
                                         (type_20)var_14);
            if (var_9 == var_4) break;
            var_14 = var_22->rows;
          }
          var_27 = (void *)((int)var_27 + 1);
          bVar33 = 0xfffffffe < var_78;
          var_78 = var_78 + 1;
          var_79 = var_79 + (type_7)bVar33;
        } while ((int)var_27 < (int)var_14);
      }
      if (var_22->storage_class == var_72) {
        var_80(var_22,var_6);
      }
      var_27 = var_21(var_38);
      var_28 = var_29(var_49);
      var_12 = var_31(var_22);
      if (var_12 != 0) {
        piVar13 = var_47();
        pcVar38 = var_81(*piVar13);
        var_17
                  (var_6,"coders/pcx.c","ReadPCXImage",0x295,CorruptImageError,
                   "UnexpectedEndOfFile","\'%s\': %s");
        var_82(pcVar38);
LAB_0026aa7e:
        if (var_16 == (type_7 *)0x0) goto LAB_0026a58c;
        break;
      }
      if ((var_2->number_scenes != 0) &&
         ((var_2->number_scenes + var_2->scene) - 1 <= var_22->scene))
      goto LAB_0026aa7e;
      if (var_16 == (type_7 *)0x0) goto LAB_0026a58c;
      if (var_16[var_83 * 2 + 1] == 0 && var_16[var_83 * 2] == 0) break;
      var_20 = var_19(var_22,var_77(var_16[var_83 * 2 + 1],var_16[var_83 * 2]),0)
      ;
      if (var_20 < 0) {
        if (var_27 != (void *)0x0) {
          var_21(var_27);
        }
        if (var_28 != (type_10 *)0x0) {
          var_29(var_28);
        }
        var_21(var_16);
        pcVar38 = "ImproperImageHeader";
        EVar37 = CorruptImageError;
        var_34 = 0x2a4;
        goto LAB_00269ff0;
      }
      var_26 = var_24(var_22,1,&pcx_info);
      if ((var_26 != 0) && (pcx_info.identifier == '\n')) {
        var_84(var_2,var_22,var_6);
        var_86 = var_85(var_22);
        if (var_86 == (type_1 *)0x0) {
          var_9 = var_4;
          break;
        }
        var_22 = var_87(var_22);
        var_33 = var_32(var_22);
        var_20 = var_88(var_22);
        var_9 = var_76(var_22,"Load/Images",var_20,var_33);
        if (var_9 == var_4) break;
      }
      var_83 = var_83 + 1;
    } while (var_83 != 0x400);
    var_21(var_16);
LAB_0026a58c:
    var_23(var_22);
    if (var_9 == var_4) {
      var_86 = var_10(var_22);
    }
    else {
      var_86 = var_89(var_22);
    }
  }
LAB_002690c4:
  if (var_90 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_91();
  }
  return var_86;
}


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

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

undefined4 MASKED(int param_1,undefined4 *param_2)

{
  int iVar1;
  int iVar2;
  char cVar3;
  float fVar4;
  undefined1 uVar5;
  int iVar6;
  undefined4 uVar7;
  byte *pbVar8;
  int *piVar9;
  byte *pbVar10;
  undefined1 *__s;
  undefined1 *puVar11;
  int iVar12;
  uint uVar13;
  byte *pbVar14;
  double *pdVar15;
  byte bVar16;
  uint uVar17;
  undefined1 *puVar18;
  byte *pbVar19;
  int extraout_EDX;
  size_t sVar20;
  int extraout_EDX_00;
  byte bVar21;
  uint uVar22;
  byte *pbVar23;
  uint uVar24;
  undefined1 *puVar25;
  int iVar26;
  int in_GS_OFFSET;
  bool bVar27;
  byte bVar28;
  undefined8 uVar29;
  undefined8 uVar30;
  undefined4 uVar31;
  char *pcVar32;
  int *local_378;
  size_t local_370;
  int local_36c;
  int local_364;
  int *local_360;
  int local_358;
  int local_350;
  uint local_34c;
  int local_348;
  int local_344;
  char local_33c;
  char local_33b;
  char local_33a;
  byte local_339;
  ushort local_338;
  ushort local_336;
  ushort local_334;
  ushort local_332;
  ushort local_330;
  ushort local_32e;
  undefined1 local_32c;
  byte local_32b;
  ushort local_32a;
  undefined2 local_328;
  undefined2 local_326;
  undefined2 local_324;
  undefined1 local_322;
  byte local_320 [768];
  int local_20;
  
  bVar28 = 0;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/pcx.c",0x10b,"ReadPCXImage");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/pcx.c",0x10c,"ReadPCXImage"
                 );
  }
  if (*(int *)(param_1 + 0x31f0) != 0) {
    LogMagickEvent(0x8000,"coders/pcx.c","ReadPCXImage",0x10e,&DAT_002f75ae,param_1 + 0x21f0);
  }
  if (param_2 == (undefined4 *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/pcx.c",0x110,"ReadPCXImage");
  }
  if (param_2[7] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/pcx.c",0x111,"ReadPCXImage")
    ;
  }
  local_378 = (int *)AcquireImage(param_1,param_2);
  local_350 = OpenBlob(param_1,local_378,2,param_2);
  if (local_350 == 0) {
    DestroyImageList(local_378);
    uVar7 = 0;
    goto LAB_002690c4;
  }
  iVar6 = LocaleCompare(param_1 + 0x1f0,&DAT_002e2566);
  if (iVar6 == 0) {
    iVar6 = ReadBlobLSBLong(local_378);
    if (iVar6 == 0x3ade68b1) {
      local_360 = (int *)AcquireQuantumMemory(0x400,8);
      piVar9 = local_360;
      if (local_360 == (int *)0x0) {
        pcVar32 = "MemoryAllocationFailed";
        uVar31 = 400;
        uVar7 = 0x12d;
LAB_0026a2c8:
        ThrowMagickException
                  (param_2,"coders/pcx.c","ReadPCXImage",uVar7,uVar31,pcVar32,"`%s\'",
                   param_1 + 0x21f0);
      }
      else {
        do {
          iVar6 = ReadBlobLSBLong(local_378);
          piVar9[1] = 0;
          *piVar9 = iVar6;
          if (iVar6 == 0) break;
          piVar9 = piVar9 + 2;
        } while (piVar9 != local_360 + 0x800);
        SeekBlob(local_378,*local_360,local_360[1],0);
        if (-1 < extraout_EDX) goto LAB_0026919c;
        RelinquishMagickMemory(local_360);
        ThrowMagickException
                  (param_2,"coders/pcx.c","ReadPCXImage",0x139,0x1a9,"ImproperImageHeader","`%s\'",
                   param_1 + 0x21f0);
      }
    }
    else {
      ThrowMagickException
                (param_2,"coders/pcx.c","ReadPCXImage",0x129,0x1a9,"ImproperImageHeader","`%s\'",
                 param_1 + 0x21f0);
    }
    if (local_378 != (int *)0x0) {
LAB_002690b2:
      CloseBlob(local_378);
      DestroyImageList(local_378);
    }
    uVar7 = 0;
  }
  else {
    local_360 = (int *)0x0;
LAB_0026919c:
    iVar6 = ReadBlob(local_378,1,&local_33c);
    local_364 = 0;
    local_344 = 1;
    local_36c = 0;
    do {
      local_33b = ReadBlobByte(local_378);
      if ((iVar6 != 1) || (local_33c != '\n')) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar31 = 0x1a9;
        uVar7 = 0x146;
        goto LAB_0026a2c8;
      }
      local_33a = ReadBlobByte(local_378);
      iVar6 = ReadBlobByte(local_378);
      if (iVar6 == -1) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar31 = 0x1a9;
        uVar7 = 0x14a;
        goto LAB_0026a2c8;
      }
      local_339 = (byte)iVar6;
      local_338 = ReadBlobLSBShort(local_378);
      local_336 = ReadBlobLSBShort(local_378);
      local_334 = ReadBlobLSBShort(local_378);
      local_332 = ReadBlobLSBShort(local_378);
      local_330 = ReadBlobLSBShort(local_378);
      local_32e = ReadBlobLSBShort(local_378);
      iVar6 = EOFBlob(local_378);
      if (iVar6 != 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "UnexpectedEndOfFile";
        uVar31 = 0x1a9;
        uVar7 = 0x153;
        goto LAB_0026a2c8;
      }
      if (((local_334 < local_338) || (local_332 < local_336)) ||
         (((local_339 - 4 & 0xfb) != 0 && (1 < (byte)(local_339 - 1))))) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar31 = 0x1a9;
        uVar7 = 0x15a;
        goto LAB_0026a2c8;
      }
      iVar6 = ((uint)local_334 - (uint)local_338) + 1;
      iVar26 = ((uint)local_332 - (uint)local_336) + 1;
      local_378[8] = (uint)local_339;
      local_378[6] = iVar6;
      *(double *)(local_378 + 0x7c) = (double)local_330;
      local_378[7] = iVar26;
      local_378[0x77] = 1;
      *(double *)(local_378 + 0x7e) = (double)local_32e;
      local_378[9] = 0x10;
      if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&
         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))
      goto LAB_0026aa7e;
      uVar29 = GetBlobSize(local_378);
      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uint)(iVar6 * iVar26) / 0xff))
      {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "InsufficientImageDataInFile";
        uVar7 = 0x1a9;
        uVar31 = 0x166;
LAB_00269ff0:
        ThrowMagickException
                  (param_2,"coders/pcx.c","ReadPCXImage",uVar31,uVar7,pcVar32,"`%s\'",
                   param_1 + 0x21f0);
        goto LAB_002690b2;
      }
      local_350 = SetImageExtent(local_378,local_378[6],local_378[7],param_2);
      if (local_350 == 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = (char *)param_2[2];
        if ((char *)param_2[2] == (char *)0x0) {
          pcVar32 = "unknown";
        }
        uVar7 = *param_2;
        uVar31 = 0x169;
        goto LAB_00269ff0;
      }
      SetImageBackgroundColor(local_378,param_2);
      pbVar10 = local_320;
      for (iVar6 = 0xc0; iVar6 != 0; iVar6 = iVar6 + -1) {
        pbVar10[0] = 0;
        pbVar10[1] = 0;
        pbVar10[2] = 0;
        pbVar10[3] = 0;
        pbVar10 = pbVar10 + (uint)bVar28 * -8 + 4;
      }
      iVar6 = ReadBlob(local_378,local_378[9] * 3,local_320);
      if (local_378[9] * 3 != iVar6) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x16e;
        goto LAB_00269ff0;
      }
      local_32c = ReadBlobByte(local_378);
      local_32b = ReadBlobByte(local_378);
      if (local_32b == 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x172;
        goto LAB_00269ff0;
      }
      if (6 < local_32b) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x174;
        goto LAB_00269ff0;
      }
      uVar17 = (uint)local_32b * (uint)local_339;
      if (0x3f < uVar17) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x176;
        goto LAB_00269ff0;
      }
      if (((local_32b == 1) || (local_339 != 8)) &&
         (((local_33b - 3U & 0xfd) == 0 || (uVar17 == 1)))) {
        uVar17 = 1 << ((byte)uVar17 & 0x1f);
        if (0x100 < uVar17) {
          uVar17 = 0x100;
        }
        local_378[9] = uVar17;
      }
      else {
        uVar17 = local_378[9];
      }
      iVar6 = AcquireImageColormap(local_378,uVar17,param_2);
      if (iVar6 == 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "MemoryAllocationFailed";
        uVar7 = 400;
        uVar31 = 0x17e;
        goto LAB_00269ff0;
      }
      if ((7 < local_339) && (local_32b != 1)) {
        *local_378 = 1;
      }
      fVar4 = DAT_002e814c;
      iVar6 = local_378[9];
      if (0 < iVar6) {
        pbVar10 = local_320;
        pdVar15 = (double *)(local_378[10] + 0x20);
        do {
          pbVar8 = pbVar10 + 3;
          *pdVar15 = (double)((float)*pbVar10 * fVar4);
          pdVar15[1] = (double)((float)pbVar10[1] * fVar4);
          pdVar15[2] = (double)((float)pbVar10[2] * fVar4);
          pbVar10 = pbVar8;
          pdVar15 = pdVar15 + 10;
        } while (pbVar8 != local_320 + iVar6 * 3);
      }
      local_32a = ReadBlobLSBShort(local_378);
      local_328 = ReadBlobLSBShort(local_378);
      local_326 = ReadBlobLSBShort(local_378);
      local_324 = ReadBlobLSBShort(local_378);
      iVar6 = 0x36;
      do {
        ReadBlobByte(local_378);
        iVar6 = iVar6 + -1;
      } while (iVar6 != 0);
      uVar24 = (uint)local_32a;
      uVar17 = local_378[7];
      if ((uVar17 == 0) || (uVar24 == 0)) {
LAB_0026963a:
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x192;
        goto LAB_00269ff0;
      }
      uVar22 = uVar24 * uVar17;
      if (uVar24 != uVar22 / uVar17) {
        piVar9 = __errno_location();
        *piVar9 = 0xc;
        goto LAB_0026963a;
      }
      uVar17 = (uint)local_32b;
      if ((uVar22 == 0) || (uVar17 == 0)) {
LAB_002696ee:
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x194;
        goto LAB_00269ff0;
      }
      uVar24 = uVar17 * uVar22;
      if (uVar17 != uVar24 / uVar22) {
        piVar9 = __errno_location();
        *piVar9 = 0xc;
        goto LAB_002696ee;
      }
      uVar17 = local_339 * uVar17 * local_378[6];
      if (uVar24 * 8 <= uVar17 && uVar17 + uVar24 * -8 != 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x196;
        goto LAB_00269ff0;
      }
      uVar29 = GetBlobSize(local_378);
      if (((int)((ulonglong)uVar29 >> 0x20) == 0) && ((uint)uVar29 < (uVar24 >> 5) + 0x80)) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x198;
        goto LAB_00269ff0;
      }
      bVar16 = local_32b;
      if (local_32b < 8) {
        bVar16 = 8;
      }
      uVar17 = (uint)local_32a;
      if ((uint)local_32a < (uint)local_378[6]) {
        uVar17 = local_378[6];
      }
      pbVar10 = (byte *)AcquireQuantumMemory(uVar17,bVar16);
      iVar6 = AcquireVirtualMemory(uVar24,2);
      if ((pbVar10 == (byte *)0x0) || (iVar6 == 0)) {
        if (pbVar10 == (byte *)0x0) {
          if (iVar6 != 0) {
            local_358 = RelinquishVirtualMemory(iVar6);
            goto LAB_0026ab65;
          }
        }
        else {
          iVar26 = RelinquishMagickMemory(pbVar10);
          if (iVar6 == 0) {
            local_358 = 0;
            if (iVar26 == 0) goto LAB_0026ab7d;
          }
          else {
            local_358 = RelinquishVirtualMemory(iVar6);
            if (iVar26 == 0) goto LAB_0026ab65;
          }
          RelinquishMagickMemory(iVar26);
LAB_0026ab65:
          if (local_358 != 0) {
            RelinquishVirtualMemory(local_358);
          }
        }
LAB_0026ab7d:
        if (local_360 != (int *)0x0) {
          RelinquishMagickMemory(local_360);
        }
        pcVar32 = "MemoryAllocationFailed";
        uVar7 = 400;
        uVar31 = 0x1a3;
        goto LAB_00269ff0;
      }
      uVar17 = local_378[6];
      if ((uint)local_378[6] <= (uint)local_32a) {
        uVar17 = (uint)local_32a;
      }
      uVar22 = (uint)local_32b;
      if (local_32b < 8) {
        uVar22 = 8;
      }
      memset(pbVar10,0,uVar17 * uVar22);
      __s = (undefined1 *)GetVirtualMemoryBlob(iVar6);
      memset(__s,0,uVar24 * 2);
      puVar25 = __s;
      if (local_33a == '\0') {
        for (; uVar24 != 0; uVar24 = uVar24 - 1) {
          uVar5 = ReadBlobByte(local_378);
          iVar26 = EOFBlob(local_378);
          if (iVar26 != 0) {
            RelinquishMagickMemory(pbVar10);
            RelinquishVirtualMemory(iVar6);
            if (local_360 != (int *)0x0) {
              RelinquishMagickMemory(local_360);
            }
            pcVar32 = "UnexpectedEndOfFile";
            uVar7 = 0x1a9;
            uVar31 = 0x1b2;
            goto LAB_00269ff0;
          }
          *puVar25 = uVar5;
          puVar25 = puVar25 + 1;
        }
      }
      else {
        for (; uVar24 != 0; uVar24 = uVar24 - 1) {
          while( true ) {
            uVar17 = ReadBlobByte(local_378);
            iVar26 = EOFBlob(local_378);
            if (iVar26 != 0) {
              RelinquishMagickMemory(pbVar10);
              RelinquishVirtualMemory(iVar6);
              if (local_360 != (int *)0x0) {
                RelinquishMagickMemory(local_360);
              }
              pcVar32 = "UnexpectedEndOfFile";
              uVar7 = 0x1a9;
              uVar31 = 0x1bb;
              goto LAB_00269ff0;
            }
            if ((uVar17 & 0xc0) != 0xc0) break;
            uVar5 = ReadBlobByte(local_378);
            iVar26 = EOFBlob(local_378);
            if (iVar26 != 0) {
              RelinquishMagickMemory(pbVar10);
              RelinquishVirtualMemory(iVar6);
              if (local_360 != (int *)0x0) {
                RelinquishMagickMemory(local_360);
              }
              pcVar32 = "UnexpectedEndOfFile";
              uVar7 = 0x1a9;
              uVar31 = 0x1c5;
              goto LAB_00269ff0;
            }
            if ((uVar17 & 0x3f) != 0) {
              uVar24 = uVar24 - 1;
              *puVar25 = uVar5;
              if (uVar24 == 0) goto LAB_00269a7c;
              puVar18 = puVar25 + (uVar17 & 0x3f);
              puVar11 = puVar25;
              while (puVar11 = puVar11 + 1, puVar25 = puVar18, puVar18 != puVar11) {
                uVar24 = uVar24 - 1;
                *puVar11 = uVar5;
                if (uVar24 == 0) goto LAB_00269a7c;
              }
            }
          }
          *puVar25 = (char)uVar17;
          puVar25 = puVar25 + 1;
        }
      }
LAB_00269a7c:
      if (*local_378 == 1) {
        local_378[0xa5] = (uint)(3 < local_32b) << 2;
      }
      else if (local_33b == '\x05') {
        if (0x100 < (uint)local_378[9]) {
LAB_0026aaa4:
          RelinquishMagickMemory(pbVar10);
          RelinquishVirtualMemory(iVar6);
          if (local_360 != (int *)0x0) {
            RelinquishMagickMemory(local_360);
          }
          pcVar32 = "ColormapExceeds256Colors";
          uVar7 = 0x1a9;
          uVar31 = 0x1d9;
          goto LAB_00269ff0;
        }
        if ((uint)local_339 * (uint)local_32b == 1) goto LAB_0026a31e;
        if (0x10 < (uint)local_378[9]) {
          local_322 = ReadBlobByte(local_378);
          ReadBlob(local_378,local_378[9] * 3,local_320);
          fVar4 = DAT_002e814c;
          iVar26 = local_378[9];
          if (0 < iVar26) {
            pdVar15 = (double *)(local_378[10] + 0x20);
            pbVar8 = local_320;
            do {
              pbVar14 = pbVar8 + 3;
              *pdVar15 = (double)((float)*pbVar8 * fVar4);
              pdVar15[1] = (double)((float)pbVar8[1] * fVar4);
              pdVar15[2] = (double)((float)pbVar8[2] * fVar4);
              pdVar15 = pdVar15 + 10;
              pbVar8 = pbVar14;
            } while (pbVar14 != local_320 + iVar26 * 3);
          }
        }
      }
      else if ((uint)local_339 * (uint)local_32b == 1) {
        if (0x100 < (uint)local_378[9]) goto LAB_0026aaa4;
LAB_0026a31e:
        iVar26 = local_378[10];
        *(undefined8 *)(iVar26 + 0x20) = 0;
        *(undefined8 *)(iVar26 + 0x28) = 0;
        *(undefined8 *)(iVar26 + 0x30) = 0;
        fVar4 = DAT_002df8a8;
        *(double *)(iVar26 + 0x70) = (double)DAT_002df8a8;
        *(double *)(iVar26 + 0x78) = (double)fVar4;
        *(double *)(iVar26 + 0x80) = (double)fVar4;
      }
      local_364 = 0;
      local_34c = 0;
      local_348 = 0;
      if (0 < local_378[7]) {
        do {
          pbVar8 = __s + (uint)local_32a * local_364 * (uint)local_32b;
          iVar26 = QueueAuthenticPixels(local_378,0,local_364,local_378[6],1,param_2);
          if (iVar26 == 0) break;
          uVar17 = (uint)local_32b;
          if (*local_378 == 1) {
            if ((local_32b != 0) && (local_32a != 0)) {
              pbVar14 = pbVar10;
              do {
                pbVar23 = pbVar8 + local_32a;
                pbVar19 = pbVar14;
                do {
                  bVar16 = *pbVar8;
                  pbVar8 = pbVar8 + 1;
                  *pbVar19 = bVar16;
                  pbVar19 = pbVar19 + uVar17;
                } while (pbVar23 != pbVar8);
                pbVar14 = pbVar14 + 1;
                pbVar8 = pbVar23;
              } while (pbVar14 != pbVar10 + uVar17);
            }
LAB_00269be4:
            local_370 = local_378[6];
          }
          else {
            local_370 = local_378[6];
            if (1 < local_32b) {
              if (0 < (int)local_370) {
                iVar12 = 0;
                do {
                  pbVar10[iVar12] = 0;
                  iVar12 = iVar12 + 1;
                } while (iVar12 < local_378[6]);
              }
              uVar24 = (uint)local_32a;
              if (uVar24 != 0) {
                uVar22 = 0;
                do {
                  uVar13 = 0;
                  do {
                    bVar16 = pbVar8[uVar13];
                    bVar21 = (byte)(1 << ((byte)uVar22 & 0x1f));
                    if ((char)bVar16 < '\0') {
                      pbVar10[uVar13 * 8] = pbVar10[uVar13 * 8] | bVar21;
                    }
                    if ((bVar16 & 0x40) != 0) {
                      pbVar10[uVar13 * 8 + 1] = pbVar10[uVar13 * 8 + 1] | bVar21;
                    }
                    if ((bVar16 & 0x20) != 0) {
                      pbVar10[uVar13 * 8 + 2] = pbVar10[uVar13 * 8 + 2] | bVar21;
                    }
                    if ((bVar16 & 0x10) != 0) {
                      pbVar10[uVar13 * 8 + 3] = pbVar10[uVar13 * 8 + 3] | bVar21;
                    }
                    if ((bVar16 & 8) != 0) {
                      pbVar10[uVar13 * 8 + 4] = pbVar10[uVar13 * 8 + 4] | bVar21;
                    }
                    if ((bVar16 & 4) != 0) {
                      pbVar10[uVar13 * 8 + 5] = pbVar10[uVar13 * 8 + 5] | bVar21;
                    }
                    if ((bVar16 & 2) != 0) {
                      pbVar10[uVar13 * 8 + 6] = pbVar10[uVar13 * 8 + 6] | bVar21;
                    }
                    if ((bVar16 & 1) != 0) {
                      pbVar10[uVar13 * 8 + 7] = pbVar10[uVar13 * 8 + 7] | bVar21;
                    }
                    uVar13 = uVar13 + 1;
                  } while (uVar13 != uVar24);
                  pbVar8 = pbVar8 + uVar24;
                  uVar22 = uVar22 + 1;
                } while (uVar22 != uVar17);
              }
              goto LAB_00269be4;
            }
            if (local_339 == 2) {
              pbVar14 = pbVar10;
              pbVar23 = pbVar10;
              pbVar19 = pbVar8;
              if (3 < (int)local_370) {
                do {
                  pbVar14 = pbVar23 + 4;
                  pbVar8 = pbVar19 + 1;
                  *pbVar23 = *pbVar19 >> 6;
                  pbVar23[1] = *pbVar19 >> 4 & 3;
                  pbVar23[2] = *pbVar19 >> 2 & 3;
                  pbVar23[3] = *pbVar19 & 3;
                  local_370 = local_378[6];
                  pbVar23 = pbVar14;
                  pbVar19 = pbVar8;
                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 3));
              }
              if ((local_370 & 3) != 0) {
                iVar12 = 3;
                do {
                  cVar3 = (char)iVar12;
                  iVar12 = iVar12 + -1;
                  *pbVar14 = (byte)((int)(uint)*pbVar8 >> (cVar3 * '\x02' & 0x1fU)) & 3;
                  local_370 = local_378[6];
                  pbVar14 = pbVar14 + 1;
                } while ((int)(4 - (local_370 & 3)) <= iVar12);
              }
            }
            else if (local_339 < 3) {
              if (local_339 == 1) {
                pbVar14 = pbVar10;
                pbVar23 = pbVar10;
                pbVar19 = pbVar8;
                if (7 < (int)local_370) {
                  do {
                    pbVar14 = pbVar23 + 8;
                    pbVar8 = pbVar19 + 1;
                    *pbVar23 = *pbVar19 >> 7 ^ 1;
                    pbVar23[1] = ~(byte)((int)(uint)*pbVar19 >> 6) & 1;
                    pbVar23[2] = ~(byte)((int)(uint)*pbVar19 >> 5) & 1;
                    pbVar23[3] = ~(byte)((int)(uint)*pbVar19 >> 4) & 1;
                    pbVar23[4] = ~(byte)((int)(uint)*pbVar19 >> 3) & 1;
                    pbVar23[5] = ~(byte)((int)(uint)*pbVar19 >> 2) & 1;
                    pbVar23[6] = ~(byte)((int)(uint)*pbVar19 >> 1) & 1;
                    pbVar23[7] = ~*pbVar19 & 1;
                    local_370 = local_378[6];
                    pbVar23 = pbVar14;
                    pbVar19 = pbVar8;
                  } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 7));
                }
                if ((local_370 & 7) != 0) {
                  iVar12 = 7;
                  do {
                    bVar16 = (byte)iVar12;
                    iVar12 = iVar12 + -1;
                    *pbVar14 = ~(byte)((int)(uint)*pbVar8 >> (bVar16 & 0x1f)) & 1;
                    local_370 = local_378[6];
                    pbVar14 = pbVar14 + 1;
                  } while ((int)(8 - (local_370 & 7)) <= iVar12);
                }
              }
            }
            else if (local_339 == 4) {
              pbVar14 = pbVar10;
              pbVar23 = pbVar10;
              pbVar19 = pbVar8;
              if (1 < (int)local_370) {
                do {
                  pbVar14 = pbVar23 + 2;
                  pbVar8 = pbVar19 + 1;
                  *pbVar23 = *pbVar19 >> 4;
                  pbVar23[1] = *pbVar19 & 0xf;
                  local_370 = local_378[6];
                  pbVar23 = pbVar14;
                  pbVar19 = pbVar8;
                } while ((int)pbVar14 - (int)pbVar10 < (int)(local_370 - 1));
              }
              if ((local_370 & 1) != 0) {
                *pbVar14 = *pbVar8 >> 4;
                goto LAB_00269be4;
              }
            }
            else if (local_339 == 8) {
              memcpy(pbVar10,pbVar8,local_370);
              local_370 = local_378[6];
            }
          }
          fVar4 = DAT_002e814c;
          if (0 < (int)local_370) {
            sVar20 = 0;
            iVar12 = local_378[0xa6];
            iVar1 = *local_378;
            iVar2 = local_378[0xaa];
            pbVar8 = pbVar10;
            do {
              while( true ) {
                if (iVar1 == 2) break;
                *(double *)(iVar26 + *(int *)(iVar2 + 8) * 8) = (double)((float)*pbVar8 * fVar4);
                *(double *)(iVar26 + *(int *)(iVar2 + 0x14) * 8) =
                     (double)((float)pbVar8[1] * fVar4);
                *(double *)(iVar26 + *(int *)(iVar2 + 0x20) * 8) =
                     (double)((float)pbVar8[2] * fVar4);
                if (local_378[0xa5] == 0) {
                  pbVar14 = pbVar8 + 3;
                }
                else {
                  pbVar14 = pbVar8 + 4;
                  if (*(int *)(iVar2 + 0x34) != 0) {
                    *(double *)(iVar26 + *(int *)(iVar2 + 0x38) * 8) =
                         (double)((float)pbVar8[3] * fVar4);
                  }
                }
LAB_00269c86:
                iVar26 = iVar26 + iVar12 * 8;
                sVar20 = sVar20 + 1;
                pbVar8 = pbVar14;
                if (sVar20 == local_370) goto LAB_00269cce;
              }
              pbVar14 = pbVar8 + 1;
              if (*(int *)(iVar2 + 0x40) == 0) goto LAB_00269c86;
              sVar20 = sVar20 + 1;
              *(double *)(iVar26 + *(int *)(iVar2 + 0x44) * 8) = (double)*pbVar8;
              iVar26 = iVar26 + iVar12 * 8;
              pbVar8 = pbVar14;
            } while (sVar20 != local_370);
          }
LAB_00269cce:
          iVar26 = SyncAuthenticPixels(local_378,param_2);
          if (iVar26 == 0) break;
          iVar26 = local_378[7];
          if (local_378[0xccf] == 0) {
            local_350 = SetImageProgress(local_378,"Load/Image",local_34c,local_348,iVar26,0);
            if (local_350 == 0) break;
            iVar26 = local_378[7];
          }
          local_364 = local_364 + 1;
          bVar27 = 0xfffffffe < local_34c;
          local_34c = local_34c + 1;
          local_348 = local_348 + (uint)bVar27;
        } while (local_364 < iVar26);
      }
      if (*local_378 == 2) {
        SyncImage(local_378,param_2);
      }
      local_364 = RelinquishMagickMemory(pbVar10);
      local_36c = RelinquishVirtualMemory(iVar6);
      iVar6 = EOFBlob(local_378);
      if (iVar6 != 0) {
        piVar9 = __errno_location();
        uVar7 = GetExceptionMessage(*piVar9);
        ThrowMagickException
                  (param_2,"coders/pcx.c","ReadPCXImage",0x295,0x1a9,"UnexpectedEndOfFile",
                   "\'%s\': %s",local_378 + 0xc6,uVar7);
        DestroyString(uVar7);
LAB_0026aa7e:
        if (local_360 == (int *)0x0) goto LAB_0026a58c;
        break;
      }
      if ((*(int *)(param_1 + 0x2c) != 0) &&
         ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)local_378[0x91]))
      goto LAB_0026aa7e;
      if (local_360 == (int *)0x0) goto LAB_0026a58c;
      if (local_360[local_344 * 2 + 1] == 0 && local_360[local_344 * 2] == 0) break;
      SeekBlob(local_378,local_360[local_344 * 2],local_360[local_344 * 2 + 1],0);
      if (extraout_EDX_00 < 0) {
        if (local_364 != 0) {
          RelinquishMagickMemory(local_364);
        }
        if (local_36c != 0) {
          RelinquishVirtualMemory(local_36c);
        }
        RelinquishMagickMemory(local_360);
        pcVar32 = "ImproperImageHeader";
        uVar7 = 0x1a9;
        uVar31 = 0x2a4;
        goto LAB_00269ff0;
      }
      iVar6 = ReadBlob(local_378,1,&local_33c);
      if ((iVar6 != 0) && (local_33c == '\n')) {
        AcquireNextImage(param_1,local_378,param_2);
        iVar26 = GetNextImageInList(local_378);
        if (iVar26 == 0) {
          local_350 = 0;
          break;
        }
        local_378 = (int *)SyncNextImageInList(local_378);
        uVar29 = GetBlobSize(local_378);
        uVar30 = TellBlob(local_378);
        local_350 = SetImageProgress(local_378,"Load/Images",uVar30,uVar29);
        if (local_350 == 0) break;
      }
      local_344 = local_344 + 1;
    } while (local_344 != 0x400);
    RelinquishMagickMemory(local_360);
LAB_0026a58c:
    CloseBlob(local_378);
    if (local_350 == 0) {
      uVar7 = DestroyImageList(local_378);
    }
    else {
      uVar7 = GetFirstImageInList(local_378);
    }
  }
LAB_002690c4:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_002decd0();
  }
  return uVar7;
}

