
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* 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 * ReadDDSImage(ImageInfo *image_info,ExceptionInfo *exception)

{
  int iVar1;
  bool bVar2;
  Image *pIVar3;
  MagickBooleanType MVar4;
  uint uVar5;
  char *pcVar6;
  MagickBooleanType MVar7;
  int iVar8;
  Image *pIVar9;
  int in_GS_OFFSET;
  bool bVar10;
  bool bVar11;
  MagickSizeType MVar12;
  size_t line;
  ExceptionType severity;
  uint local_7c;
  uint local_74;
  CompressionType local_70;
  PixelTrait local_6c;
  code *local_68;
  DDSInfo dds_info;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  if (image_info == (ImageInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");
  }
  if (image_info->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"
                 );
  }
  if (image_info->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"coders/dds.c","ReadDDSImage",0x6ca,"%s",image_info->filename);
  }
  if (exception == (ExceptionInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");
  }
  if (exception->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")
    ;
  }
  pIVar3 = AcquireImage(image_info,exception);
  MVar4 = OpenBlob(image_info,pIVar3,ReadBinaryBlobMode,exception);
  if (MVar4 == MagickFalse) {
    DestroyImageList(pIVar3);
    pIVar3 = (Image *)0x0;
    goto LAB_001e9a5b;
  }
  SeekBlob(pIVar3,4,0);
  uVar5 = ReadBlobLSBLong(pIVar3);
  if ((uVar5 == 0x7c) &&
     (dds_info.flags = ReadBlobLSBLong(pIVar3), (dds_info.flags & 0x1006) == 0x1006)) {
    dds_info.height = ReadBlobLSBLong(pIVar3);
    dds_info.width = ReadBlobLSBLong(pIVar3);
    dds_info.pitchOrLinearSize = ReadBlobLSBLong(pIVar3);
    dds_info.depth = ReadBlobLSBLong(pIVar3);
    dds_info.mipmapcount = ReadBlobLSBLong(pIVar3);
    SeekBlob(pIVar3,0x2c,1);
    uVar5 = ReadBlobLSBLong(pIVar3);
    if (uVar5 != 0x20) goto LAB_001e9a0b;
    dds_info.pixelformat.flags = ReadBlobLSBLong(pIVar3);
    dds_info.pixelformat.fourcc = ReadBlobLSBLong(pIVar3);
    dds_info.pixelformat.rgb_bitcount = ReadBlobLSBLong(pIVar3);
    dds_info.pixelformat.r_bitmask = ReadBlobLSBLong(pIVar3);
    dds_info.pixelformat.g_bitmask = ReadBlobLSBLong(pIVar3);
    dds_info.pixelformat.b_bitmask = ReadBlobLSBLong(pIVar3);
    dds_info.pixelformat.alpha_bitmask = ReadBlobLSBLong(pIVar3);
    dds_info.ddscaps1 = ReadBlobLSBLong(pIVar3);
    dds_info.ddscaps2 = ReadBlobLSBLong(pIVar3);
    SeekBlob(pIVar3,0xc,1);
    uVar5 = dds_info.ddscaps2 & 0x200;
    bVar10 = (dds_info.ddscaps2 & 0x200000) != 0;
    bVar11 = dds_info.depth != 0;
    bVar2 = bVar10 && bVar11;
    SeekBlob(pIVar3,0x80,0);
    if ((dds_info.pixelformat.flags & 0x40) == 0) {
      if ((dds_info.pixelformat.flags & 0x20000) == 0) {
        if ((dds_info.pixelformat.flags & 4) != 0) {
          if (dds_info.pixelformat.fourcc == 0x33545844) {
            local_6c = BlendPixelTrait;
            local_68 = ReadDXT3;
            local_70 = DXT3Compression;
          }
          else if (dds_info.pixelformat.fourcc == 0x35545844) {
            local_6c = BlendPixelTrait;
            local_68 = ReadDXT5;
            local_70 = DXT5Compression;
          }
          else {
            if (dds_info.pixelformat.fourcc != 0x31545844) {
              pcVar6 = "ImageTypeNotSupported";
              severity = CorruptImageError;
              line = 0x722;
              goto LAB_001e9a2a;
            }
            local_68 = ReadDXT1;
            local_6c = UndefinedPixelTrait;
            local_70 = DXT1Compression;
          }
          goto joined_r0x001e9c17;
        }
        pcVar6 = "ImageTypeNotSupported";
        severity = CorruptImageError;
        line = 0x729;
      }
      else {
        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;
        pcVar6 = "ImageTypeNotSupported";
        severity = CorruptImageError;
        line = 0x6fe;
      }
    }
    else {
      if ((dds_info.pixelformat.flags & 1) != 0) {
        local_68 = ReadUncompressedRGBA;
        local_6c = BlendPixelTrait;
        local_70 = NoCompression;
        goto joined_r0x001e9c17;
      }
LAB_001e9cf3:
      local_68 = ReadUncompressedRGB;
      local_6c = UndefinedPixelTrait;
      local_70 = NoCompression;
joined_r0x001e9c17:
      if (uVar5 == 0) {
        if (bVar2) goto LAB_001e9da7;
        local_74 = 1;
LAB_001e9c3f:
        MVar12 = GetBlobSize(pIVar3);
        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {
          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);
          if (MVar4 != MagickFalse) {
            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");
            MVar4 = IsStringFalse(pcVar6);
            local_7c = 0;
            while( true ) {
              pIVar3->endian = LSBEndian;
              pIVar3->depth = 8;
              MVar7 = image_info->ping;
              pIVar3->alpha_trait = local_6c;
              pIVar3->rows = dds_info.height;
              pIVar3->compression = local_70;
              pIVar3->storage_class = DirectClass;
              pIVar3->columns = dds_info.width;
              if (MVar7 != MagickFalse) break;
              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);
              if (MVar7 == MagickFalse) {
LAB_001ea000:
                pIVar3 = DestroyImageList(pIVar3);
                goto LAB_001e9a5b;
              }
              SetImageBackgroundColor(pIVar3,exception);
              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);
              if (iVar8 == 0) {
                CloseBlob(pIVar3);
                if (local_7c == 0) goto LAB_001ea000;
                pIVar3 = GetFirstImageInList(pIVar3);
                goto LAB_001e9a5b;
              }
              local_7c = local_7c + 1;
              if (local_7c == local_74) break;
              iVar8 = EOFBlob(pIVar3);
              if (iVar8 != 0) {
                ThrowMagickException
                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,
                           "UnexpectedEndOfFile","`%s\'",image_info->filename);
                goto LAB_001e9a48;
              }
              AcquireNextImage(image_info,pIVar3,exception);
              pIVar9 = GetNextImageInList(pIVar3);
              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;
              pIVar3 = SyncNextImageInList(pIVar3);
            }
            CloseBlob(pIVar3);
            pIVar3 = GetFirstImageInList(pIVar3);
            goto LAB_001e9a5b;
          }
          pcVar6 = "ListLengthExceedsLimit";
          severity = ErrorException;
          line = 0x742;
          goto LAB_001e9a2a;
        }
      }
      else {
        uVar5 = dds_info.ddscaps2 >> 10 & 1;
        if ((dds_info.ddscaps2 & 0x800) != 0) {
          uVar5 = uVar5 + 1;
        }
        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -
                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -
                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);
        if ((dds_info.ddscaps2 & 0x8000) == 0) {
          if (bVar2) goto LAB_001e9da7;
        }
        else {
          if (!bVar10 || !bVar11) {
            local_74 = local_74 + 1;
            goto LAB_001e9c3f;
          }
LAB_001e9da7:
          local_74 = dds_info.depth;
        }
        if (local_74 != 0) goto LAB_001e9c3f;
      }
      pcVar6 = "ImproperImageHeader";
      severity = CorruptImageError;
      line = 0x73f;
    }
  }
  else {
LAB_001e9a0b:
    pcVar6 = "ImproperImageHeader";
    severity = CorruptImageError;
    line = 0x6dd;
  }
LAB_001e9a2a:
  ThrowMagickException
            (exception,"coders/dds.c","ReadDDSImage",line,severity,pcVar6,"`%s\'",
             image_info->filename);
  if (pIVar3 != (Image *)0x0) {
LAB_001e9a48:
    CloseBlob(pIVar3);
    DestroyImageList(pIVar3);
  }
  pIVar3 = (Image *)0x0;
LAB_001e9a5b:
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return pIVar3;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



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

undefined4 FUN_001e9960(int param_1,int param_2)

{
  bool bVar1;
  undefined4 *puVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  int in_GS_OFFSET;
  bool bVar6;
  bool bVar7;
  undefined8 uVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  char *pcVar11;
  uint local_7c;
  uint local_74;
  undefined4 local_70;
  undefined4 local_6c;
  code *local_68;
  uint local_5c;
  undefined4 local_58;
  undefined4 local_54;
  undefined4 local_50;
  uint local_4c;
  undefined4 local_48;
  undefined4 local_44;
  uint local_40;
  uint local_3c;
  int local_38;
  undefined4 local_34;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x1e9969;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"
                 );
  }
  if (*(int *)(param_1 + 0x31f0) != 0) {
    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");
  }
  if (*(int *)(param_2 + 0x1c) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")
    ;
  }
  puVar2 = (undefined4 *)AcquireImage(param_1,param_2);
  iVar3 = OpenBlob(param_1,puVar2,2,param_2);
  if (iVar3 == 0) {
    DestroyImageList(puVar2);
    uVar9 = 0;
    goto LAB_001e9a5b;
  }
  SeekBlob(puVar2,4,0,0);
  iVar3 = ReadBlobLSBLong(puVar2);
  if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {
    local_58 = ReadBlobLSBLong(puVar2);
    local_54 = ReadBlobLSBLong(puVar2);
    local_50 = ReadBlobLSBLong(puVar2);
    local_4c = ReadBlobLSBLong(puVar2);
    local_48 = ReadBlobLSBLong(puVar2);
    SeekBlob(puVar2,0x2c,0,1);
    iVar3 = ReadBlobLSBLong(puVar2);
    if (iVar3 != 0x20) goto LAB_001e9a0b;
    local_3c = ReadBlobLSBLong(puVar2);
    local_38 = ReadBlobLSBLong(puVar2);
    local_34 = ReadBlobLSBLong(puVar2);
    local_30 = ReadBlobLSBLong(puVar2);
    local_2c = ReadBlobLSBLong(puVar2);
    local_28 = ReadBlobLSBLong(puVar2);
    local_24 = ReadBlobLSBLong(puVar2);
    local_44 = ReadBlobLSBLong(puVar2);
    local_40 = ReadBlobLSBLong(puVar2);
    SeekBlob(puVar2,0xc,0,1);
    uVar5 = local_40 & 0x200;
    bVar6 = (local_40 & 0x200000) != 0;
    bVar7 = local_4c != 0;
    bVar1 = bVar6 && bVar7;
    SeekBlob(puVar2,0x80,0,0);
    if ((local_3c & 0x40) == 0) {
      if ((local_3c & 0x20000) == 0) {
        if ((local_3c & 4) != 0) {
          if (local_38 == 0x33545844) {
            local_6c = 4;
            local_68 = FUN_001ebc60;
            local_70 = 5;
          }
          else if (local_38 == 0x35545844) {
            local_6c = 4;
            local_68 = FUN_001ebbc0;
            local_70 = 6;
          }
          else {
            if (local_38 != 0x31545844) {
              pcVar11 = "ImageTypeNotSupported";
              uVar10 = 0x1a9;
              uVar9 = 0x722;
              goto LAB_001e9a2a;
            }
            local_68 = FUN_001ebd00;
            local_6c = 0;
            local_70 = 4;
          }
          goto joined_r0x001e9c17;
        }
        pcVar11 = "ImageTypeNotSupported";
        uVar10 = 0x1a9;
        uVar9 = 0x729;
      }
      else {
        if ((local_3c & 1) == 0) goto LAB_001e9cf3;
        pcVar11 = "ImageTypeNotSupported";
        uVar10 = 0x1a9;
        uVar9 = 0x6fe;
      }
    }
    else {
      if ((local_3c & 1) != 0) {
        local_68 = FUN_001ebda0;
        local_6c = 4;
        local_70 = 0x10;
        goto joined_r0x001e9c17;
      }
LAB_001e9cf3:
      local_68 = FUN_001eb130;
      local_6c = 0;
      local_70 = 0x10;
joined_r0x001e9c17:
      if (uVar5 == 0) {
        if (bVar1) goto LAB_001e9da7;
        local_74 = 1;
LAB_001e9c3f:
        uVar8 = GetBlobSize(puVar2);
        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {
          iVar3 = AcquireMagickResource(0xb,local_74,0);
          if (iVar3 != 0) {
            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");
            iVar3 = IsStringFalse(uVar9);
            local_7c = 0;
            while( true ) {
              puVar2[0x8d] = 1;
              puVar2[8] = 8;
              iVar4 = *(int *)(param_1 + 0x1bc);
              puVar2[0xa5] = local_6c;
              puVar2[7] = local_58;
              puVar2[2] = local_70;
              *puVar2 = 1;
              puVar2[6] = local_54;
              if (iVar4 != 0) break;
              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);
              if (iVar4 == 0) {
LAB_001ea000:
                uVar9 = DestroyImageList(puVar2);
                goto LAB_001e9a5b;
              }
              SetImageBackgroundColor(puVar2,param_2);
              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);
              if (iVar4 == 0) {
                CloseBlob(puVar2);
                if (local_7c == 0) goto LAB_001ea000;
                uVar9 = GetFirstImageInList(puVar2);
                goto LAB_001e9a5b;
              }
              local_7c = local_7c + 1;
              if (local_7c == local_74) break;
              iVar4 = EOFBlob(puVar2);
              if (iVar4 != 0) {
                ThrowMagickException
                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",
                           "`%s\'",param_1 + 0x21f0);
                goto LAB_001e9a48;
              }
              AcquireNextImage(param_1,puVar2,param_2);
              iVar4 = GetNextImageInList(puVar2);
              if (iVar4 == 0) goto LAB_001ea000;
              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);
            }
            CloseBlob(puVar2);
            uVar9 = GetFirstImageInList(puVar2);
            goto LAB_001e9a5b;
          }
          pcVar11 = "ListLengthExceedsLimit";
          uVar10 = 400;
          uVar9 = 0x742;
          goto LAB_001e9a2a;
        }
      }
      else {
        uVar5 = local_40 >> 10 & 1;
        if ((local_40 & 0x800) != 0) {
          uVar5 = uVar5 + 1;
        }
        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -
                   (uint)((local_40 & 0x4000) == 0);
        if ((local_40 & 0x8000) == 0) {
          if (bVar1) goto LAB_001e9da7;
        }
        else {
          if (!bVar6 || !bVar7) {
            local_74 = local_74 + 1;
            goto LAB_001e9c3f;
          }
LAB_001e9da7:
          local_74 = local_4c;
        }
        if (local_74 != 0) goto LAB_001e9c3f;
      }
      pcVar11 = "ImproperImageHeader";
      uVar10 = 0x1a9;
      uVar9 = 0x73f;
    }
  }
  else {
LAB_001e9a0b:
    pcVar11 = "ImproperImageHeader";
    uVar10 = 0x1a9;
    uVar9 = 0x6dd;
  }
LAB_001e9a2a:
  ThrowMagickException
            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);
  if (puVar2 != (undefined4 *)0x0) {
LAB_001e9a48:
    CloseBlob(puVar2);
    DestroyImageList(puVar2);
  }
  uVar9 = 0;
LAB_001e9a5b:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar9;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0029eab0();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00038830
ADD EBX,0x1ef697
SUB ESP,0x6c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x5c],EAX
XOR EAX,EAX
MOV EDI,dword ptr [ESP + 0x80]
MOV EBP,dword ptr [ESP + 0x84]
TEST EDI,EDI
JZ 0x001ea070
CMP dword ptr [EDI + 0x31f4],0xabacadab
JNZ 0x001ea0d2
MOV ECX,dword ptr [EDI + 0x31f0]
TEST ECX,ECX
JNZ 0x001e9a78
TEST EBP,EBP
JZ 0x001ea0b3
CMP dword ptr [EBP + 0x1c],0xabacadab
JNZ 0x001ea094
SUB ESP,0x8
PUSH EBP
PUSH EDI
CALL 0x000313c0
ADD ESP,0x10
PUSH EBP
MOV ESI,EAX
PUSH 0x2
PUSH EAX
PUSH EDI
CALL 0x00032230
ADD ESP,0x10
TEST EAX,EAX
JZ 0x001e9ca0
PUSH 0x0
PUSH 0x0
PUSH 0x4
PUSH ESI
CALL 0x00031f00
MOV dword ptr [ESP],ESI
CALL 0x00033ac0
ADD ESP,0x10
CMP EAX,0x7c
JZ 0x001e9ab0
LEA EAX,[EDI + 0x21f0]
PUSH EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffef2dca]
PUSH EAX
PUSH 0x1a9
PUSH 0x6dd
LEA EAX,[EBX + 0xffeff5dc]
PUSH EAX
LEA EAX,[EBX + 0xffeff48d]
PUSH EAX
PUSH EBP
CALL 0x00032e80
ADD ESP,0x20
TEST ESI,ESI
JZ 0x001e9a59
SUB ESP,0xc
PUSH ESI
CALL 0x000311d0
MOV dword ptr [ESP],ESI
CALL 0x000317a0
ADD ESP,0x10
XOR EAX,EAX
MOV EDX,dword ptr [ESP + 0x5c]
XOR EDX,dword ptr GS:[0x14]
JNZ 0x001ea08f
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EDI + 0x21f0]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xffedde4e]
PUSH EAX
LEA EAX,[EBX + 0xffeff5dc]
PUSH 0x6ca
PUSH EAX
LEA EAX,[EBX + 0xffeff48d]
PUSH EAX
PUSH 0x8000
CALL 0x000323b0
ADD ESP,0x20
JMP 0x001e99b2
SUB ESP,0xc
PUSH ESI
CALL 0x00033ac0
MOV dword ptr [ESP + 0x30],EAX
AND EAX,0x1006
ADD ESP,0x10
CMP EAX,0x1006
JNZ 0x001e9a0b
SUB ESP,0xc
PUSH ESI
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x34],EAX
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x38],EAX
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x3c],EAX
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x40],EAX
CALL 0x00033ac0
MOV dword ptr [ESP + 0x44],EAX
ADD ESP,0x10
PUSH 0x1
PUSH 0x0
PUSH 0x2c
PUSH ESI
CALL 0x00031f00
MOV dword ptr [ESP],ESI
CALL 0x00033ac0
ADD ESP,0x10
CMP EAX,0x20
JNZ 0x001e9a0b
SUB ESP,0xc
PUSH ESI
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x50],EAX
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x54],EAX
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x58],EAX
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x5c],EAX
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x60],EAX
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x64],EAX
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x68],EAX
CALL 0x00033ac0
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x48],EAX
CALL 0x00033ac0
MOV dword ptr [ESP + 0x4c],EAX
ADD ESP,0x10
PUSH 0x1
PUSH 0x0
PUSH 0xc
PUSH ESI
CALL 0x00031f00
MOV EAX,dword ptr [ESP + 0x4c]
MOV ECX,EAX
AND ECX,0x200
MOV dword ptr [ESP + 0x18],ECX
ADD ESP,0x10
TEST EAX,0x200000
JNZ 0x001e9d88
MOV dword ptr [ESP],0x0
PUSH 0x0
PUSH 0x0
PUSH 0x80
PUSH ESI
CALL 0x00031f00
MOV EAX,dword ptr [ESP + 0x50]
ADD ESP,0x10
TEST AL,0x40
JZ 0x001e9ce0
TEST AL,0x1
JZ 0x001e9cf3
LEA EAX,[EBX + 0xffe12da0]
MOV dword ptr [ESP + 0x10],0x4
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP + 0xc],0x10
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JNZ 0x001e9d19
MOV EAX,dword ptr [ESP]
TEST EAX,EAX
JNZ 0x001e9da7
MOV dword ptr [ESP],0x1
MOV dword ptr [ESP + 0x4],0x0
MOV dword ptr [ESP + 0x8],0x1
SUB ESP,0xc
PUSH ESI
CALL 0x000318e0
ADD ESP,0x10
CMP EDX,dword ptr [ESP + 0x4]
JC 0x001e9cb8
JA 0x001e9c58
CMP EAX,dword ptr [ESP]
JC 0x001e9cb8
SUB ESP,0x4
PUSH dword ptr [ESP + 0x8]
PUSH dword ptr [ESP + 0x8]
PUSH 0xb
CALL 0x00030be0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x001e9e70
LEA EAX,[EDI + 0x21f0]
PUSH EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec7586]
PUSH EAX
PUSH 0x190
PUSH 0x742
JMP 0x001e9a2a
SUB ESP,0xc
PUSH ESI
CALL 0x000317a0
ADD ESP,0x10
XOR EAX,EAX
JMP 0x001e9a5b
LEA EAX,[EDI + 0x21f0]
PUSH EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffef2dca]
PUSH EAX
PUSH 0x1a9
PUSH 0x73f
JMP 0x001e9a2a
TEST EAX,0x20000
JZ 0x001e9dd0
TEST AL,0x1
JNZ 0x001e9e20
LEA EAX,[EBX + 0xffe12130]
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0xc],0x10
TEST EAX,EAX
JZ 0x001e9c1d
MOV EAX,dword ptr [ESP + 0x3c]
MOV EDX,EAX
SHR EDX,0xa
AND EDX,0x1
TEST AH,0x8
LEA ECX,[EDX + 0x1]
CMOVNZ EDX,ECX
MOV ECX,EDX
MOV EDX,EAX
AND EDX,0x1000
CMP EDX,0x1
MOV EDX,EAX
SBB ECX,-0x1
AND EDX,0x2000
CMP EDX,0x1
MOV EDX,EAX
SBB ECX,-0x1
AND EDX,0x4000
CMP EDX,0x1
SBB ECX,-0x1
MOV dword ptr [ESP + 0x8],ECX
TEST AH,0x80
JZ 0x001e9da0
MOV EAX,dword ptr [ESP]
TEST EAX,EAX
JNZ 0x001e9da7
ADD ECX,0x1
MOV dword ptr [ESP + 0x4],0x0
MOV dword ptr [ESP + 0x8],ECX
MOV dword ptr [ESP],ECX
JMP 0x001e9c3f
MOV EDX,dword ptr [ESP + 0x30]
XOR EAX,EAX
TEST EDX,EDX
SETNZ AL
MOV dword ptr [ESP],EAX
JMP 0x001e9bd1
MOV EAX,dword ptr [ESP]
TEST EAX,EAX
JZ 0x001e9daf
MOV EAX,dword ptr [ESP + 0x30]
MOV dword ptr [ESP + 0x8],EAX
MOV ECX,dword ptr [ESP + 0x8]
TEST ECX,ECX
JZ 0x001e9cb8
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x4],0x0
MOV dword ptr [ESP],EAX
JMP 0x001e9c3f
TEST AL,0x4
JZ 0x001e9e48
MOV EAX,dword ptr [ESP + 0x44]
CMP EAX,0x33545844
JZ 0x001e9fa0
CMP EAX,0x35545844
JZ 0x001e9fe0
CMP EAX,0x31545844
JZ 0x001e9fc0
LEA EAX,[EDI + 0x21f0]
PUSH EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffeff49a]
PUSH EAX
PUSH 0x1a9
PUSH 0x722
JMP 0x001e9a2a
LEA EAX,[EDI + 0x21f0]
PUSH EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffeff49a]
PUSH EAX
PUSH 0x1a9
PUSH 0x6fe
JMP 0x001e9a2a
LEA EAX,[EDI + 0x21f0]
PUSH EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffeff49a]
PUSH EAX
PUSH 0x1a9
PUSH 0x729
JMP 0x001e9a2a
LEA EAX,[EBX + 0xffeff4b0]
SUB ESP,0x8
PUSH EAX
PUSH EDI
CALL 0x00032590
MOV dword ptr [ESP],EAX
CALL 0x000322e0
ADD ESP,0x10
TEST EAX,EAX
MOV dword ptr [ESP],0x0
SETNZ AL
MOVZX EAX,AL
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[ESP + 0x20]
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x001e9f3d
PUSH EBP
PUSH ECX
PUSH EAX
PUSH ESI
CALL 0x00031910
ADD ESP,0x10
TEST EAX,EAX
JZ 0x001ea000
SUB ESP,0x8
PUSH EBP
PUSH ESI
CALL 0x000330a0
MOV dword ptr [ESP],EBP
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x30]
PUSH ESI
PUSH EDI
MOV EAX,dword ptr [ESP + 0x34]
CALL EAX
ADD ESP,0x20
TEST EAX,EAX
JZ 0x001ea04c
ADD dword ptr [ESP],0x1
MOV EAX,dword ptr [ESP]
CMP EAX,dword ptr [ESP + 0x8]
JZ 0x001e9f81
SUB ESP,0xc
PUSH ESI
CALL 0x00030ee0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x001ea011
SUB ESP,0x4
PUSH EBP
PUSH ESI
PUSH EDI
CALL 0x00032cc0
MOV dword ptr [ESP],ESI
CALL 0x000319e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x001ea000
SUB ESP,0xc
PUSH ESI
CALL 0x00031b80
ADD ESP,0x10
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESI + 0x234],0x1
MOV ECX,dword ptr [ESP + 0x24]
MOV dword ptr [ESI + 0x20],0x8
MOV EDX,dword ptr [EDI + 0x1bc]
MOV dword ptr [ESI + 0x294],EAX
MOV EAX,dword ptr [ESP + 0xc]
MOV dword ptr [ESI + 0x1c],ECX
MOV dword ptr [ESI + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESI],0x1
MOV dword ptr [ESI + 0x18],EAX
TEST EDX,EDX
JZ 0x001e9eb0
SUB ESP,0xc
PUSH ESI
CALL 0x000311d0
MOV dword ptr [ESP],ESI
CALL 0x00031a70
ADD ESP,0x10
JMP 0x001e9a5b
LEA EAX,[EBX + 0xffe12c60]
MOV dword ptr [ESP + 0x10],0x4
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP + 0xc],0x5
JMP 0x001e9c11
LEA EAX,[EBX + 0xffe12d00]
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP + 0xc],0x4
JMP 0x001e9c11
LEA EAX,[EBX + 0xffe12bc0]
MOV dword ptr [ESP + 0x10],0x4
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP + 0xc],0x6
JMP 0x001e9c11
SUB ESP,0xc
PUSH ESI
CALL 0x000317a0
ADD ESP,0x10
JMP 0x001e9a5b
LEA EAX,[EDI + 0x21f0]
PUSH EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffef2dde]
PUSH EAX
LEA EAX,[EBX + 0xffeff5dc]
PUSH 0x1a9
PUSH 0x74e
PUSH EAX
LEA EAX,[EBX + 0xffeff48d]
PUSH EAX
PUSH EBP
CALL 0x00032e80
ADD ESP,0x14
JMP 0x001e9a48
SUB ESP,0xc
PUSH ESI
CALL 0x000311d0
ADD ESP,0x10
MOV EAX,dword ptr [ESP]
TEST EAX,EAX
JZ 0x001ea000
SUB ESP,0xc
PUSH ESI
CALL 0x00031a70
ADD ESP,0x10
JMP 0x001e9a5b
LEA EAX,[EBX + 0xffeff5ec]
PUSH EAX
LEA EAX,[EBX + 0xffeff48d]
PUSH 0x6c7
PUSH EAX
LEA EAX,[EBX + 0xffec5b00]
PUSH EAX
CALL 0x000313d0
CALL 0x0029eab0
LEA EAX,[EBX + 0xffeff5ec]
PUSH EAX
LEA EAX,[EBX + 0xffeff48d]
PUSH 0x6cd
PUSH EAX
LEA EAX,[EBX + 0xffec776c]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xffeff5ec]
PUSH EAX
LEA EAX,[EBX + 0xffeff48d]
PUSH 0x6cc
PUSH EAX
LEA EAX,[EBX + 0xffec6a3c]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xffeff5ec]
PUSH EAX
LEA EAX,[EBX + 0xffeff48d]
PUSH 0x6c8
PUSH EAX
LEA EAX,[EBX + 0xffec5b28]
PUSH EAX
CALL 0x000313d0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_001e9960(int param_1,int param_2)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int in_GS_OFFSET;\n  bool bVar6;\n  bool bVar7;\n  undefined8 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint local_7c;\n  uint local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  code *local_68;\n  uint local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  uint local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1e9969;\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/dds.c",0x6c7,"ReadDDSImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }\n  puVar2 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar3 = OpenBlob(param_1,puVar2,2,param_2);\n  if (iVar3 == 0) {\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }\n  SeekBlob(puVar2,4,0,0);\n  iVar3 = ReadBlobLSBLong(puVar2);\n  if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }\nLAB_001e9a2a:\n  ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);\n  if (puVar2 != (undefined4 *)0x0) {\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }\n  uVar9 = 0;\nLAB_001e9a5b:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0029eab0();\n}\n\n" comment (function_definition "undefined4 FUN_001e9960(int param_1,int param_2)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int in_GS_OFFSET;\n  bool bVar6;\n  bool bVar7;\n  undefined8 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint local_7c;\n  uint local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  code *local_68;\n  uint local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  uint local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1e9969;\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/dds.c",0x6c7,"ReadDDSImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }\n  puVar2 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar3 = OpenBlob(param_1,puVar2,2,param_2);\n  if (iVar3 == 0) {\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }\n  SeekBlob(puVar2,4,0,0);\n  iVar3 = ReadBlobLSBLong(puVar2);\n  if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }\nLAB_001e9a2a:\n  ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);\n  if (puVar2 != (undefined4 *)0x0) {\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }\n  uVar9 = 0;\nLAB_001e9a5b:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0029eab0();\n}" type_identifier (function_declarator "FUN_001e9960(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int in_GS_OFFSET;\n  bool bVar6;\n  bool bVar7;\n  undefined8 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint local_7c;\n  uint local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  code *local_68;\n  uint local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  uint local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1e9969;\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/dds.c",0x6c7,"ReadDDSImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }\n  puVar2 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar3 = OpenBlob(param_1,puVar2,2,param_2);\n  if (iVar3 == 0) {\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }\n  SeekBlob(puVar2,4,0,0);\n  iVar3 = ReadBlobLSBLong(puVar2);\n  if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }\nLAB_001e9a2a:\n  ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);\n  if (puVar2 != (undefined4 *)0x0) {\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }\n  uVar9 = 0;\nLAB_001e9a5b:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0029eab0();\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "code *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1e9969;" (assignment_expression "uStack_14 = 0x1e9969" 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/dds.c",0x6c7,"ReadDDSImage");\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/dds.c",0x6c7,"ReadDDSImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\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/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 )" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 )" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,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/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);\n  }" { (expression_statement "LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0)" identifier (argument_list "(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0)" ( number_literal , (string_literal ""coders/dds.c"" " string_content ") , (string_literal ""ReadDDSImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (expression_statement "puVar2 = (undefined4 *)AcquireImage(param_1,param_2);" (assignment_expression "puVar2 = (undefined4 *)AcquireImage(param_1,param_2)" identifier = (cast_expression "(undefined4 *)AcquireImage(param_1,param_2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "iVar3 = OpenBlob(param_1,puVar2,2,param_2);" (assignment_expression "iVar3 = OpenBlob(param_1,puVar2,2,param_2)" identifier = (call_expression "OpenBlob(param_1,puVar2,2,param_2)" identifier (argument_list "(param_1,puVar2,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }" { (expression_statement "DestroyImageList(puVar2);" (call_expression "DestroyImageList(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "SeekBlob(puVar2,4,0,0);" (call_expression "SeekBlob(puVar2,4,0,0)" identifier (argument_list "(puVar2,4,0,0)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar3 = ReadBlobLSBLong(puVar2);" (assignment_expression "iVar3 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (if_statement "if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }" if (parenthesized_expression "((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006))" ( (binary_expression "(iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)" (parenthesized_expression "(iVar3 == 0x7c)" ( (binary_expression "iVar3 == 0x7c" identifier == number_literal) )) && (parenthesized_expression "(local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)" ( (comma_expression "local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006" (assignment_expression "local_5c = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) , (binary_expression "(local_5c & 0x1006) == 0x1006" (parenthesized_expression "(local_5c & 0x1006)" ( (binary_expression "local_5c & 0x1006" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }" { (expression_statement "local_58 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_58 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_54 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_54 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_50 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_50 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_4c = ReadBlobLSBLong(puVar2);" (assignment_expression "local_4c = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_48 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_48 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "SeekBlob(puVar2,0x2c,0,1);" (call_expression "SeekBlob(puVar2,0x2c,0,1)" identifier (argument_list "(puVar2,0x2c,0,1)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar3 = ReadBlobLSBLong(puVar2);" (assignment_expression "iVar3 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (if_statement "if (iVar3 != 0x20) goto LAB_001e9a0b;" if (parenthesized_expression "(iVar3 != 0x20)" ( (binary_expression "iVar3 != 0x20" identifier != number_literal) )) (goto_statement "goto LAB_001e9a0b;" goto statement_identifier ;)) (expression_statement "local_3c = ReadBlobLSBLong(puVar2);" (assignment_expression "local_3c = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_38 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_38 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_34 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_34 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_30 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_30 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_2c = ReadBlobLSBLong(puVar2);" (assignment_expression "local_2c = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_28 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_28 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_24 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_24 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_44 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_44 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_40 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_40 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "SeekBlob(puVar2,0xc,0,1);" (call_expression "SeekBlob(puVar2,0xc,0,1)" identifier (argument_list "(puVar2,0xc,0,1)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "uVar5 = local_40 & 0x200;" (assignment_expression "uVar5 = local_40 & 0x200" identifier = (binary_expression "local_40 & 0x200" identifier & number_literal)) ;) (expression_statement "bVar6 = (local_40 & 0x200000) != 0;" (assignment_expression "bVar6 = (local_40 & 0x200000) != 0" identifier = (binary_expression "(local_40 & 0x200000) != 0" (parenthesized_expression "(local_40 & 0x200000)" ( (binary_expression "local_40 & 0x200000" identifier & number_literal) )) != number_literal)) ;) (expression_statement "bVar7 = local_4c != 0;" (assignment_expression "bVar7 = local_4c != 0" identifier = (binary_expression "local_4c != 0" identifier != number_literal)) ;) (expression_statement "bVar1 = bVar6 && bVar7;" (assignment_expression "bVar1 = bVar6 && bVar7" identifier = (binary_expression "bVar6 && bVar7" identifier && identifier)) ;) (expression_statement "SeekBlob(puVar2,0x80,0,0);" (call_expression "SeekBlob(puVar2,0x80,0,0)" identifier (argument_list "(puVar2,0x80,0,0)" ( identifier , number_literal , number_literal , number_literal ))) ;) (if_statement "if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }" if (parenthesized_expression "((local_3c & 0x40) == 0)" ( (binary_expression "(local_3c & 0x40) == 0" (parenthesized_expression "(local_3c & 0x40)" ( (binary_expression "local_3c & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }" { (if_statement "if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }" if (parenthesized_expression "((local_3c & 0x20000) == 0)" ( (binary_expression "(local_3c & 0x20000) == 0" (parenthesized_expression "(local_3c & 0x20000)" ( (binary_expression "local_3c & 0x20000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }" { (if_statement "if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }" if (parenthesized_expression "((local_3c & 4) != 0)" ( (binary_expression "(local_3c & 4) != 0" (parenthesized_expression "(local_3c & 4)" ( (binary_expression "local_3c & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }" { (if_statement "if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" if (parenthesized_expression "(local_38 == 0x33545844)" ( (binary_expression "local_38 == 0x33545844" identifier == number_literal) )) (compound_statement "{\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }" { (expression_statement "local_6c = 4;" (assignment_expression "local_6c = 4" identifier = number_literal) ;) (expression_statement "local_68 = FUN_001ebc60;" (assignment_expression "local_68 = FUN_001ebc60" identifier = identifier) ;) (expression_statement "local_70 = 5;" (assignment_expression "local_70 = 5" identifier = number_literal) ;) }) (else_clause "else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" else (if_statement "if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" if (parenthesized_expression "(local_38 == 0x35545844)" ( (binary_expression "local_38 == 0x35545844" identifier == number_literal) )) (compound_statement "{\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }" { (expression_statement "local_6c = 4;" (assignment_expression "local_6c = 4" identifier = number_literal) ;) (expression_statement "local_68 = FUN_001ebbc0;" (assignment_expression "local_68 = FUN_001ebbc0" identifier = identifier) ;) (expression_statement "local_70 = 6;" (assignment_expression "local_70 = 6" identifier = number_literal) ;) }) (else_clause "else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" else (compound_statement "{\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" { (if_statement "if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }" if (parenthesized_expression "(local_38 != 0x31545844)" ( (binary_expression "local_38 != 0x31545844" identifier != number_literal) )) (compound_statement "{\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }" { (expression_statement "pcVar11 = "ImageTypeNotSupported";" (assignment_expression "pcVar11 = "ImageTypeNotSupported"" identifier = (string_literal ""ImageTypeNotSupported"" " string_content ")) ;) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar9 = 0x722;" (assignment_expression "uVar9 = 0x722" identifier = number_literal) ;) (goto_statement "goto LAB_001e9a2a;" goto statement_identifier ;) })) (expression_statement "local_68 = FUN_001ebd00;" (assignment_expression "local_68 = FUN_001ebd00" identifier = identifier) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_70 = 4;" (assignment_expression "local_70 = 4" identifier = number_literal) ;) }))))) (goto_statement "goto joined_r0x001e9c17;" goto statement_identifier ;) })) (expression_statement "pcVar11 = "ImageTypeNotSupported";" (assignment_expression "pcVar11 = "ImageTypeNotSupported"" identifier = (string_literal ""ImageTypeNotSupported"" " string_content ")) ;) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar9 = 0x729;" (assignment_expression "uVar9 = 0x729" identifier = number_literal) ;) }) (else_clause "else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }" else (compound_statement "{\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }" { (if_statement "if ((local_3c & 1) == 0) goto LAB_001e9cf3;" if (parenthesized_expression "((local_3c & 1) == 0)" ( (binary_expression "(local_3c & 1) == 0" (parenthesized_expression "(local_3c & 1)" ( (binary_expression "local_3c & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001e9cf3;" goto statement_identifier ;)) (expression_statement "pcVar11 = "ImageTypeNotSupported";" (assignment_expression "pcVar11 = "ImageTypeNotSupported"" identifier = (string_literal ""ImageTypeNotSupported"" " string_content ")) ;) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar9 = 0x6fe;" (assignment_expression "uVar9 = 0x6fe" identifier = number_literal) ;) }))) }) (else_clause "else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }" else (compound_statement "{\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }" { (if_statement "if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }" if (parenthesized_expression "((local_3c & 1) != 0)" ( (binary_expression "(local_3c & 1) != 0" (parenthesized_expression "(local_3c & 1)" ( (binary_expression "local_3c & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }" { (expression_statement "local_68 = FUN_001ebda0;" (assignment_expression "local_68 = FUN_001ebda0" identifier = identifier) ;) (expression_statement "local_6c = 4;" (assignment_expression "local_6c = 4" identifier = number_literal) ;) (expression_statement "local_70 = 0x10;" (assignment_expression "local_70 = 0x10" identifier = number_literal) ;) (goto_statement "goto joined_r0x001e9c17;" goto statement_identifier ;) })) (labeled_statement "LAB_001e9cf3:\n      local_68 = FUN_001eb130;" statement_identifier : (expression_statement "local_68 = FUN_001eb130;" (assignment_expression "local_68 = FUN_001eb130" identifier = identifier) ;)) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0x10;" (assignment_expression "local_70 = 0x10" identifier = number_literal) ;) (labeled_statement "joined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" statement_identifier : (if_statement "if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }" { (if_statement "if (bVar1) goto LAB_001e9da7;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_001e9da7;" goto statement_identifier ;)) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (labeled_statement "LAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);" statement_identifier : (expression_statement "uVar8 = GetBlobSize(puVar2);" (assignment_expression "uVar8 = GetBlobSize(puVar2)" identifier = (call_expression "GetBlobSize(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;)) (if_statement "if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8))" ( (binary_expression "((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)" (parenthesized_expression "((int)((ulonglong)uVar8 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar8 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar8 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar8 >> 0x20)" ( (binary_expression "(ulonglong)uVar8 >> 0x20" (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) || (parenthesized_expression "(local_74 <= (uint)uVar8)" ( (binary_expression "local_74 <= (uint)uVar8" identifier <= (cast_expression "(uint)uVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) (compound_statement "{\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }" { (expression_statement "iVar3 = AcquireMagickResource(0xb,local_74,0);" (assignment_expression "iVar3 = AcquireMagickResource(0xb,local_74,0)" identifier = (call_expression "AcquireMagickResource(0xb,local_74,0)" identifier (argument_list "(0xb,local_74,0)" ( number_literal , identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }" { (expression_statement "uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");" (assignment_expression "uVar9 = GetImageOption(param_1,"dds:skip-mipmaps")" identifier = (call_expression "GetImageOption(param_1,"dds:skip-mipmaps")" identifier (argument_list "(param_1,"dds:skip-mipmaps")" ( identifier , (string_literal ""dds:skip-mipmaps"" " string_content ") )))) ;) (expression_statement "iVar3 = IsStringFalse(uVar9);" (assignment_expression "iVar3 = IsStringFalse(uVar9)" identifier = (call_expression "IsStringFalse(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }" { (expression_statement "puVar2[0x8d] = 1;" (assignment_expression "puVar2[0x8d] = 1" (subscript_expression "puVar2[0x8d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[8] = 8;" (assignment_expression "puVar2[8] = 8" (subscript_expression "puVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x1bc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x1bc)" identifier = (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) ))))) ;) (expression_statement "puVar2[0xa5] = local_6c;" (assignment_expression "puVar2[0xa5] = local_6c" (subscript_expression "puVar2[0xa5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[7] = local_58;" (assignment_expression "puVar2[7] = local_58" (subscript_expression "puVar2[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[2] = local_70;" (assignment_expression "puVar2[2] = local_70" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar2 = 1;" (assignment_expression "*puVar2 = 1" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "puVar2[6] = local_54;" (assignment_expression "puVar2[6] = local_54" (subscript_expression "puVar2[6]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar4 != 0) break;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);" (assignment_expression "iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2)" identifier = (call_expression "SetImageExtent(puVar2,local_54,local_58,param_2)" identifier (argument_list "(puVar2,local_54,local_58,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }" { (labeled_statement "LAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);" statement_identifier : (expression_statement "uVar9 = DestroyImageList(puVar2);" (assignment_expression "uVar9 = DestroyImageList(puVar2)" identifier = (call_expression "DestroyImageList(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;)) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "SetImageBackgroundColor(puVar2,param_2);" (call_expression "SetImageBackgroundColor(puVar2,param_2)" identifier (argument_list "(puVar2,param_2)" ( identifier , identifier ))) ;) (expression_statement "iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);" (assignment_expression "iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2)" identifier = (call_expression "(*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2)" (parenthesized_expression "(*local_68)" ( (pointer_expression "*local_68" * identifier) )) (argument_list "(param_1,puVar2,&local_5c,iVar3 != 0,param_2)" ( identifier , identifier , (pointer_expression "&local_5c" & identifier) , (binary_expression "iVar3 != 0" identifier != number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }" { (expression_statement "CloseBlob(puVar2);" (call_expression "CloseBlob(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;) (if_statement "if (local_7c == 0) goto LAB_001ea000;" if (parenthesized_expression "(local_7c == 0)" ( (binary_expression "local_7c == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ea000;" goto statement_identifier ;)) (expression_statement "uVar9 = GetFirstImageInList(puVar2);" (assignment_expression "uVar9 = GetFirstImageInList(puVar2)" identifier = (call_expression "GetFirstImageInList(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) (if_statement "if (local_7c == local_74) break;" if (parenthesized_expression "(local_7c == local_74)" ( (binary_expression "local_7c == local_74" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = EOFBlob(puVar2);" (assignment_expression "iVar4 = EOFBlob(puVar2)" identifier = (call_expression "EOFBlob(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }" { (expression_statement "ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0)" ( identifier , (string_literal ""coders/dds.c"" " string_content ") , (string_literal ""ReadDDSImage"" " string_content ") , number_literal , number_literal , (string_literal ""UnexpectedEndOfFile"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) (goto_statement "goto LAB_001e9a48;" goto statement_identifier ;) })) (expression_statement "AcquireNextImage(param_1,puVar2,param_2);" (call_expression "AcquireNextImage(param_1,puVar2,param_2)" identifier (argument_list "(param_1,puVar2,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = GetNextImageInList(puVar2);" (assignment_expression "iVar4 = GetNextImageInList(puVar2)" identifier = (call_expression "GetNextImageInList(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_001ea000;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ea000;" goto statement_identifier ;)) (expression_statement "puVar2 = (undefined4 *)SyncNextImageInList(puVar2);" (assignment_expression "puVar2 = (undefined4 *)SyncNextImageInList(puVar2)" identifier = (cast_expression "(undefined4 *)SyncNextImageInList(puVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "SyncNextImageInList(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))))) ;) })) (expression_statement "CloseBlob(puVar2);" (call_expression "CloseBlob(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;) (expression_statement "uVar9 = GetFirstImageInList(puVar2);" (assignment_expression "uVar9 = GetFirstImageInList(puVar2)" identifier = (call_expression "GetFirstImageInList(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "pcVar11 = "ListLengthExceedsLimit";" (assignment_expression "pcVar11 = "ListLengthExceedsLimit"" identifier = (string_literal ""ListLengthExceedsLimit"" " string_content ")) ;) (expression_statement "uVar10 = 400;" (assignment_expression "uVar10 = 400" identifier = number_literal) ;) (expression_statement "uVar9 = 0x742;" (assignment_expression "uVar9 = 0x742" identifier = number_literal) ;) (goto_statement "goto LAB_001e9a2a;" goto statement_identifier ;) })) }) (else_clause "else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" else (compound_statement "{\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" { (expression_statement "uVar5 = local_40 >> 10 & 1;" (assignment_expression "uVar5 = local_40 >> 10 & 1" identifier = (binary_expression "local_40 >> 10 & 1" (binary_expression "local_40 >> 10" identifier >> number_literal) & number_literal)) ;) (if_statement "if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }" if (parenthesized_expression "((local_40 & 0x800) != 0)" ( (binary_expression "(local_40 & 0x800) != 0" (parenthesized_expression "(local_40 & 0x800)" ( (binary_expression "local_40 & 0x800" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar5 = uVar5 + 1;\n        }" { (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);" (assignment_expression "local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0)" identifier = (binary_expression "(((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0)" (parenthesized_expression "(((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3)" ( (binary_expression "((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3" (parenthesized_expression "((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0))" ( (binary_expression "(uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)" (parenthesized_expression "(uVar5 - ((local_40 & 0x1000) == 0))" ( (binary_expression "uVar5 - ((local_40 & 0x1000) == 0)" identifier - (parenthesized_expression "((local_40 & 0x1000) == 0)" ( (binary_expression "(local_40 & 0x1000) == 0" (parenthesized_expression "(local_40 & 0x1000)" ( (binary_expression "local_40 & 0x1000" identifier & number_literal) )) == number_literal) ))) )) - (call_expression "(uint)((local_40 & 0x2000) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((local_40 & 0x2000) == 0)" ( (binary_expression "(local_40 & 0x2000) == 0" (parenthesized_expression "(local_40 & 0x2000)" ( (binary_expression "local_40 & 0x2000" identifier & number_literal) )) == number_literal) )))) )) + number_literal) )) - (call_expression "(uint)((local_40 & 0x4000) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((local_40 & 0x4000) == 0)" ( (binary_expression "(local_40 & 0x4000) == 0" (parenthesized_expression "(local_40 & 0x4000)" ( (binary_expression "local_40 & 0x4000" identifier & number_literal) )) == number_literal) ))))) ;) (if_statement "if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }" if (parenthesized_expression "((local_40 & 0x8000) == 0)" ( (binary_expression "(local_40 & 0x8000) == 0" (parenthesized_expression "(local_40 & 0x8000)" ( (binary_expression "local_40 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (bVar1) goto LAB_001e9da7;\n        }" { (if_statement "if (bVar1) goto LAB_001e9da7;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_001e9da7;" goto statement_identifier ;)) }) (else_clause "else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }" else (compound_statement "{\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }" { (if_statement "if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }" if (parenthesized_expression "(!bVar6 || !bVar7)" ( (binary_expression "!bVar6 || !bVar7" (unary_expression "!bVar6" ! identifier) || (unary_expression "!bVar7" ! identifier)) )) (compound_statement "{\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }" { (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_001e9c3f;" goto statement_identifier ;) })) (labeled_statement "LAB_001e9da7:\n          local_74 = local_4c;" statement_identifier : (expression_statement "local_74 = local_4c;" (assignment_expression "local_74 = local_4c" identifier = identifier) ;)) }))) (if_statement "if (local_74 != 0) goto LAB_001e9c3f;" if (parenthesized_expression "(local_74 != 0)" ( (binary_expression "local_74 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001e9c3f;" goto statement_identifier ;)) })))) (expression_statement "pcVar11 = "ImproperImageHeader";" (assignment_expression "pcVar11 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar9 = 0x73f;" (assignment_expression "uVar9 = 0x73f" identifier = number_literal) ;) }))) }) (else_clause "else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }" else (compound_statement "{\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }" { (labeled_statement "LAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";" statement_identifier : (expression_statement "pcVar11 = "ImproperImageHeader";" (assignment_expression "pcVar11 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;)) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar9 = 0x6dd;" (assignment_expression "uVar9 = 0x6dd" identifier = number_literal) ;) }))) (labeled_statement "LAB_001e9a2a:\n  ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);" statement_identifier : (expression_statement "ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);" (call_expression "ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0)" ( identifier , (string_literal ""coders/dds.c"" " string_content ") , (string_literal ""ReadDDSImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;)) (if_statement "if (puVar2 != (undefined4 *)0x0) {\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }" if (parenthesized_expression "(puVar2 != (undefined4 *)0x0)" ( (binary_expression "puVar2 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }" { (labeled_statement "LAB_001e9a48:\n    CloseBlob(puVar2);" statement_identifier : (expression_statement "CloseBlob(puVar2);" (call_expression "CloseBlob(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;)) (expression_statement "DestroyImageList(puVar2);" (call_expression "DestroyImageList(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;) })) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001e9a5b:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar9;\n  }" { (return_statement "return uVar9;" return identifier ;) }))) comment (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: 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 * ReadDDSImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  int iVar1;\n  bool bVar2;\n  Image *pIVar3;\n  MagickBooleanType MVar4;\n  uint uVar5;\n  char *pcVar6;\n  MagickBooleanType MVar7;\n  int iVar8;\n  Image *pIVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  bool bVar11;\n  MagickSizeType MVar12;\n  size_t line;\n  ExceptionType severity;\n  uint local_7c;\n  uint local_74;\n  CompressionType local_70;\n  PixelTrait local_6c;\n  code *local_68;\n  DDSInfo dds_info;\n  \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/dds.c",0x6c7,"ReadDDSImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/dds.c","ReadDDSImage",0x6ca,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }\n  pIVar3 = AcquireImage(image_info,exception);\n  MVar4 = OpenBlob(image_info,pIVar3,ReadBinaryBlobMode,exception);\n  if (MVar4 == MagickFalse) {\n    DestroyImageList(pIVar3);\n    pIVar3 = (Image *)0x0;\n    goto LAB_001e9a5b;\n  }\n  SeekBlob(pIVar3,4,0);\n  uVar5 = ReadBlobLSBLong(pIVar3);\n  if ((uVar5 == 0x7c) &&\n     (dds_info.flags = ReadBlobLSBLong(pIVar3), (dds_info.flags & 0x1006) == 0x1006)) {\n    dds_info.height = ReadBlobLSBLong(pIVar3);\n    dds_info.width = ReadBlobLSBLong(pIVar3);\n    dds_info.pitchOrLinearSize = ReadBlobLSBLong(pIVar3);\n    dds_info.depth = ReadBlobLSBLong(pIVar3);\n    dds_info.mipmapcount = ReadBlobLSBLong(pIVar3);\n    SeekBlob(pIVar3,0x2c,1);\n    uVar5 = ReadBlobLSBLong(pIVar3);\n    if (uVar5 != 0x20) goto LAB_001e9a0b;\n    dds_info.pixelformat.flags = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.fourcc = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.rgb_bitcount = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.r_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.g_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.b_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.alpha_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.ddscaps1 = ReadBlobLSBLong(pIVar3);\n    dds_info.ddscaps2 = ReadBlobLSBLong(pIVar3);\n    SeekBlob(pIVar3,0xc,1);\n    uVar5 = dds_info.ddscaps2 & 0x200;\n    bVar10 = (dds_info.ddscaps2 & 0x200000) != 0;\n    bVar11 = dds_info.depth != 0;\n    bVar2 = bVar10 && bVar11;\n    SeekBlob(pIVar3,0x80,0);\n    if ((dds_info.pixelformat.flags & 0x40) == 0) {\n      if ((dds_info.pixelformat.flags & 0x20000) == 0) {\n        if ((dds_info.pixelformat.flags & 4) != 0) {\n          if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x729;\n      }\n      else {\n        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x6fe;\n      }\n    }\n    else {\n      if ((dds_info.pixelformat.flags & 1) != 0) {\n        local_68 = ReadUncompressedRGBA;\n        local_6c = BlendPixelTrait;\n        local_70 = NoCompression;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = ReadUncompressedRGB;\n      local_6c = UndefinedPixelTrait;\n      local_70 = NoCompression;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar2) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);\n        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar6 = "ImproperImageHeader";\n      severity = CorruptImageError;\n      line = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar6 = "ImproperImageHeader";\n    severity = CorruptImageError;\n    line = 0x6dd;\n  }\nLAB_001e9a2a:\n  ThrowMagickException\n            (exception,"coders/dds.c","ReadDDSImage",line,severity,pcVar6,"`%s\'",\n             image_info->filename);\n  if (pIVar3 != (Image *)0x0) {\nLAB_001e9a48:\n    CloseBlob(pIVar3);\n    DestroyImageList(pIVar3);\n  }\n  pIVar3 = (Image *)0x0;\nLAB_001e9a5b:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "Image * ReadDDSImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  int iVar1;\n  bool bVar2;\n  Image *pIVar3;\n  MagickBooleanType MVar4;\n  uint uVar5;\n  char *pcVar6;\n  MagickBooleanType MVar7;\n  int iVar8;\n  Image *pIVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  bool bVar11;\n  MagickSizeType MVar12;\n  size_t line;\n  ExceptionType severity;\n  uint local_7c;\n  uint local_74;\n  CompressionType local_70;\n  PixelTrait local_6c;\n  code *local_68;\n  DDSInfo dds_info;\n  \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/dds.c",0x6c7,"ReadDDSImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/dds.c","ReadDDSImage",0x6ca,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }\n  pIVar3 = AcquireImage(image_info,exception);\n  MVar4 = OpenBlob(image_info,pIVar3,ReadBinaryBlobMode,exception);\n  if (MVar4 == MagickFalse) {\n    DestroyImageList(pIVar3);\n    pIVar3 = (Image *)0x0;\n    goto LAB_001e9a5b;\n  }\n  SeekBlob(pIVar3,4,0);\n  uVar5 = ReadBlobLSBLong(pIVar3);\n  if ((uVar5 == 0x7c) &&\n     (dds_info.flags = ReadBlobLSBLong(pIVar3), (dds_info.flags & 0x1006) == 0x1006)) {\n    dds_info.height = ReadBlobLSBLong(pIVar3);\n    dds_info.width = ReadBlobLSBLong(pIVar3);\n    dds_info.pitchOrLinearSize = ReadBlobLSBLong(pIVar3);\n    dds_info.depth = ReadBlobLSBLong(pIVar3);\n    dds_info.mipmapcount = ReadBlobLSBLong(pIVar3);\n    SeekBlob(pIVar3,0x2c,1);\n    uVar5 = ReadBlobLSBLong(pIVar3);\n    if (uVar5 != 0x20) goto LAB_001e9a0b;\n    dds_info.pixelformat.flags = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.fourcc = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.rgb_bitcount = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.r_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.g_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.b_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.alpha_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.ddscaps1 = ReadBlobLSBLong(pIVar3);\n    dds_info.ddscaps2 = ReadBlobLSBLong(pIVar3);\n    SeekBlob(pIVar3,0xc,1);\n    uVar5 = dds_info.ddscaps2 & 0x200;\n    bVar10 = (dds_info.ddscaps2 & 0x200000) != 0;\n    bVar11 = dds_info.depth != 0;\n    bVar2 = bVar10 && bVar11;\n    SeekBlob(pIVar3,0x80,0);\n    if ((dds_info.pixelformat.flags & 0x40) == 0) {\n      if ((dds_info.pixelformat.flags & 0x20000) == 0) {\n        if ((dds_info.pixelformat.flags & 4) != 0) {\n          if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x729;\n      }\n      else {\n        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x6fe;\n      }\n    }\n    else {\n      if ((dds_info.pixelformat.flags & 1) != 0) {\n        local_68 = ReadUncompressedRGBA;\n        local_6c = BlendPixelTrait;\n        local_70 = NoCompression;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = ReadUncompressedRGB;\n      local_6c = UndefinedPixelTrait;\n      local_70 = NoCompression;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar2) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);\n        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar6 = "ImproperImageHeader";\n      severity = CorruptImageError;\n      line = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar6 = "ImproperImageHeader";\n    severity = CorruptImageError;\n    line = 0x6dd;\n  }\nLAB_001e9a2a:\n  ThrowMagickException\n            (exception,"coders/dds.c","ReadDDSImage",line,severity,pcVar6,"`%s\'",\n             image_info->filename);\n  if (pIVar3 != (Image *)0x0) {\nLAB_001e9a48:\n    CloseBlob(pIVar3);\n    DestroyImageList(pIVar3);\n  }\n  pIVar3 = (Image *)0x0;\nLAB_001e9a5b:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" type_identifier (pointer_declarator "* ReadDDSImage(ImageInfo *image_info,ExceptionInfo *exception)" * (function_declarator "ReadDDSImage(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  bool bVar2;\n  Image *pIVar3;\n  MagickBooleanType MVar4;\n  uint uVar5;\n  char *pcVar6;\n  MagickBooleanType MVar7;\n  int iVar8;\n  Image *pIVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  bool bVar11;\n  MagickSizeType MVar12;\n  size_t line;\n  ExceptionType severity;\n  uint local_7c;\n  uint local_74;\n  CompressionType local_70;\n  PixelTrait local_6c;\n  code *local_68;\n  DDSInfo dds_info;\n  \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/dds.c",0x6c7,"ReadDDSImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/dds.c","ReadDDSImage",0x6ca,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }\n  pIVar3 = AcquireImage(image_info,exception);\n  MVar4 = OpenBlob(image_info,pIVar3,ReadBinaryBlobMode,exception);\n  if (MVar4 == MagickFalse) {\n    DestroyImageList(pIVar3);\n    pIVar3 = (Image *)0x0;\n    goto LAB_001e9a5b;\n  }\n  SeekBlob(pIVar3,4,0);\n  uVar5 = ReadBlobLSBLong(pIVar3);\n  if ((uVar5 == 0x7c) &&\n     (dds_info.flags = ReadBlobLSBLong(pIVar3), (dds_info.flags & 0x1006) == 0x1006)) {\n    dds_info.height = ReadBlobLSBLong(pIVar3);\n    dds_info.width = ReadBlobLSBLong(pIVar3);\n    dds_info.pitchOrLinearSize = ReadBlobLSBLong(pIVar3);\n    dds_info.depth = ReadBlobLSBLong(pIVar3);\n    dds_info.mipmapcount = ReadBlobLSBLong(pIVar3);\n    SeekBlob(pIVar3,0x2c,1);\n    uVar5 = ReadBlobLSBLong(pIVar3);\n    if (uVar5 != 0x20) goto LAB_001e9a0b;\n    dds_info.pixelformat.flags = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.fourcc = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.rgb_bitcount = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.r_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.g_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.b_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.alpha_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.ddscaps1 = ReadBlobLSBLong(pIVar3);\n    dds_info.ddscaps2 = ReadBlobLSBLong(pIVar3);\n    SeekBlob(pIVar3,0xc,1);\n    uVar5 = dds_info.ddscaps2 & 0x200;\n    bVar10 = (dds_info.ddscaps2 & 0x200000) != 0;\n    bVar11 = dds_info.depth != 0;\n    bVar2 = bVar10 && bVar11;\n    SeekBlob(pIVar3,0x80,0);\n    if ((dds_info.pixelformat.flags & 0x40) == 0) {\n      if ((dds_info.pixelformat.flags & 0x20000) == 0) {\n        if ((dds_info.pixelformat.flags & 4) != 0) {\n          if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x729;\n      }\n      else {\n        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x6fe;\n      }\n    }\n    else {\n      if ((dds_info.pixelformat.flags & 1) != 0) {\n        local_68 = ReadUncompressedRGBA;\n        local_6c = BlendPixelTrait;\n        local_70 = NoCompression;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = ReadUncompressedRGB;\n      local_6c = UndefinedPixelTrait;\n      local_70 = NoCompression;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar2) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);\n        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar6 = "ImproperImageHeader";\n      severity = CorruptImageError;\n      line = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar6 = "ImproperImageHeader";\n    severity = CorruptImageError;\n    line = 0x6dd;\n  }\nLAB_001e9a2a:\n  ThrowMagickException\n            (exception,"coders/dds.c","ReadDDSImage",line,severity,pcVar6,"`%s\'",\n             image_info->filename);\n  if (pIVar3 != (Image *)0x0) {\nLAB_001e9a48:\n    CloseBlob(pIVar3);\n    DestroyImageList(pIVar3);\n  }\n  pIVar3 = (Image *)0x0;\nLAB_001e9a5b:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar3;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "Image *pIVar3;" type_identifier (pointer_declarator "*pIVar3" * identifier) ;) (declaration "MagickBooleanType MVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "MagickBooleanType MVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "Image *pIVar9;" type_identifier (pointer_declarator "*pIVar9" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "MagickSizeType MVar12;" type_identifier identifier ;) (declaration "size_t line;" primitive_type identifier ;) (declaration "ExceptionType severity;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "CompressionType local_70;" type_identifier identifier ;) (declaration "PixelTrait local_6c;" type_identifier identifier ;) (declaration "code *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "DDSInfo dds_info;" type_identifier identifier ;) (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/dds.c",0x6c7,"ReadDDSImage");\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/dds.c",0x6c7,"ReadDDSImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\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/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 )" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 )" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/dds.c","ReadDDSImage",0x6ca,"%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/dds.c","ReadDDSImage",0x6ca,"%s",image_info->filename);\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"coders/dds.c","ReadDDSImage",0x6ca,"%s",image_info->filename);" (call_expression "LogMagickEvent(TraceEvent,"coders/dds.c","ReadDDSImage",0x6ca,"%s",image_info->filename)" identifier (argument_list "(TraceEvent,"coders/dds.c","ReadDDSImage",0x6ca,"%s",image_info->filename)" ( identifier , (string_literal ""coders/dds.c"" " string_content ") , (string_literal ""ReadDDSImage"" " 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/dds.c",0x6cc,"ReadDDSImage");\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/dds.c",0x6cc,"ReadDDSImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (if_statement "if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\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/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (expression_statement "pIVar3 = AcquireImage(image_info,exception);" (assignment_expression "pIVar3 = AcquireImage(image_info,exception)" identifier = (call_expression "AcquireImage(image_info,exception)" identifier (argument_list "(image_info,exception)" ( identifier , identifier )))) ;) (expression_statement "MVar4 = OpenBlob(image_info,pIVar3,ReadBinaryBlobMode,exception);" (assignment_expression "MVar4 = OpenBlob(image_info,pIVar3,ReadBinaryBlobMode,exception)" identifier = (call_expression "OpenBlob(image_info,pIVar3,ReadBinaryBlobMode,exception)" identifier (argument_list "(image_info,pIVar3,ReadBinaryBlobMode,exception)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (MVar4 == MagickFalse) {\n    DestroyImageList(pIVar3);\n    pIVar3 = (Image *)0x0;\n    goto LAB_001e9a5b;\n  }" if (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) (compound_statement "{\n    DestroyImageList(pIVar3);\n    pIVar3 = (Image *)0x0;\n    goto LAB_001e9a5b;\n  }" { (expression_statement "DestroyImageList(pIVar3);" (call_expression "DestroyImageList(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier ))) ;) (expression_statement "pIVar3 = (Image *)0x0;" (assignment_expression "pIVar3 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "SeekBlob(pIVar3,4,0);" (call_expression "SeekBlob(pIVar3,4,0)" identifier (argument_list "(pIVar3,4,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uVar5 = ReadBlobLSBLong(pIVar3);" (assignment_expression "uVar5 = ReadBlobLSBLong(pIVar3)" identifier = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (if_statement "if ((uVar5 == 0x7c) &&\n     (dds_info.flags = ReadBlobLSBLong(pIVar3), (dds_info.flags & 0x1006) == 0x1006)) {\n    dds_info.height = ReadBlobLSBLong(pIVar3);\n    dds_info.width = ReadBlobLSBLong(pIVar3);\n    dds_info.pitchOrLinearSize = ReadBlobLSBLong(pIVar3);\n    dds_info.depth = ReadBlobLSBLong(pIVar3);\n    dds_info.mipmapcount = ReadBlobLSBLong(pIVar3);\n    SeekBlob(pIVar3,0x2c,1);\n    uVar5 = ReadBlobLSBLong(pIVar3);\n    if (uVar5 != 0x20) goto LAB_001e9a0b;\n    dds_info.pixelformat.flags = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.fourcc = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.rgb_bitcount = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.r_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.g_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.b_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.alpha_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.ddscaps1 = ReadBlobLSBLong(pIVar3);\n    dds_info.ddscaps2 = ReadBlobLSBLong(pIVar3);\n    SeekBlob(pIVar3,0xc,1);\n    uVar5 = dds_info.ddscaps2 & 0x200;\n    bVar10 = (dds_info.ddscaps2 & 0x200000) != 0;\n    bVar11 = dds_info.depth != 0;\n    bVar2 = bVar10 && bVar11;\n    SeekBlob(pIVar3,0x80,0);\n    if ((dds_info.pixelformat.flags & 0x40) == 0) {\n      if ((dds_info.pixelformat.flags & 0x20000) == 0) {\n        if ((dds_info.pixelformat.flags & 4) != 0) {\n          if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x729;\n      }\n      else {\n        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x6fe;\n      }\n    }\n    else {\n      if ((dds_info.pixelformat.flags & 1) != 0) {\n        local_68 = ReadUncompressedRGBA;\n        local_6c = BlendPixelTrait;\n        local_70 = NoCompression;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = ReadUncompressedRGB;\n      local_6c = UndefinedPixelTrait;\n      local_70 = NoCompression;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar2) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);\n        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar6 = "ImproperImageHeader";\n      severity = CorruptImageError;\n      line = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar6 = "ImproperImageHeader";\n    severity = CorruptImageError;\n    line = 0x6dd;\n  }" if (parenthesized_expression "((uVar5 == 0x7c) &&\n     (dds_info.flags = ReadBlobLSBLong(pIVar3), (dds_info.flags & 0x1006) == 0x1006))" ( (binary_expression "(uVar5 == 0x7c) &&\n     (dds_info.flags = ReadBlobLSBLong(pIVar3), (dds_info.flags & 0x1006) == 0x1006)" (parenthesized_expression "(uVar5 == 0x7c)" ( (binary_expression "uVar5 == 0x7c" identifier == number_literal) )) && (parenthesized_expression "(dds_info.flags = ReadBlobLSBLong(pIVar3), (dds_info.flags & 0x1006) == 0x1006)" ( (comma_expression "dds_info.flags = ReadBlobLSBLong(pIVar3), (dds_info.flags & 0x1006) == 0x1006" (assignment_expression "dds_info.flags = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.flags" identifier . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) , (binary_expression "(dds_info.flags & 0x1006) == 0x1006" (parenthesized_expression "(dds_info.flags & 0x1006)" ( (binary_expression "dds_info.flags & 0x1006" (field_expression "dds_info.flags" identifier . field_identifier) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n    dds_info.height = ReadBlobLSBLong(pIVar3);\n    dds_info.width = ReadBlobLSBLong(pIVar3);\n    dds_info.pitchOrLinearSize = ReadBlobLSBLong(pIVar3);\n    dds_info.depth = ReadBlobLSBLong(pIVar3);\n    dds_info.mipmapcount = ReadBlobLSBLong(pIVar3);\n    SeekBlob(pIVar3,0x2c,1);\n    uVar5 = ReadBlobLSBLong(pIVar3);\n    if (uVar5 != 0x20) goto LAB_001e9a0b;\n    dds_info.pixelformat.flags = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.fourcc = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.rgb_bitcount = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.r_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.g_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.b_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.pixelformat.alpha_bitmask = ReadBlobLSBLong(pIVar3);\n    dds_info.ddscaps1 = ReadBlobLSBLong(pIVar3);\n    dds_info.ddscaps2 = ReadBlobLSBLong(pIVar3);\n    SeekBlob(pIVar3,0xc,1);\n    uVar5 = dds_info.ddscaps2 & 0x200;\n    bVar10 = (dds_info.ddscaps2 & 0x200000) != 0;\n    bVar11 = dds_info.depth != 0;\n    bVar2 = bVar10 && bVar11;\n    SeekBlob(pIVar3,0x80,0);\n    if ((dds_info.pixelformat.flags & 0x40) == 0) {\n      if ((dds_info.pixelformat.flags & 0x20000) == 0) {\n        if ((dds_info.pixelformat.flags & 4) != 0) {\n          if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x729;\n      }\n      else {\n        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x6fe;\n      }\n    }\n    else {\n      if ((dds_info.pixelformat.flags & 1) != 0) {\n        local_68 = ReadUncompressedRGBA;\n        local_6c = BlendPixelTrait;\n        local_70 = NoCompression;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = ReadUncompressedRGB;\n      local_6c = UndefinedPixelTrait;\n      local_70 = NoCompression;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar2) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);\n        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar6 = "ImproperImageHeader";\n      severity = CorruptImageError;\n      line = 0x73f;\n    }\n  }" { (expression_statement "dds_info.height = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.height = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.height" identifier . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.width = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.width = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.width" identifier . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.pitchOrLinearSize = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.pitchOrLinearSize = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.pitchOrLinearSize" identifier . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.depth = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.depth = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.depth" identifier . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.mipmapcount = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.mipmapcount = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.mipmapcount" identifier . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "SeekBlob(pIVar3,0x2c,1);" (call_expression "SeekBlob(pIVar3,0x2c,1)" identifier (argument_list "(pIVar3,0x2c,1)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uVar5 = ReadBlobLSBLong(pIVar3);" (assignment_expression "uVar5 = ReadBlobLSBLong(pIVar3)" identifier = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (if_statement "if (uVar5 != 0x20) goto LAB_001e9a0b;" if (parenthesized_expression "(uVar5 != 0x20)" ( (binary_expression "uVar5 != 0x20" identifier != number_literal) )) (goto_statement "goto LAB_001e9a0b;" goto statement_identifier ;)) (expression_statement "dds_info.pixelformat.flags = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.pixelformat.flags = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.pixelformat.flags" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.pixelformat.fourcc = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.pixelformat.fourcc = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.pixelformat.fourcc" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.pixelformat.rgb_bitcount = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.pixelformat.rgb_bitcount = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.pixelformat.rgb_bitcount" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.pixelformat.r_bitmask = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.pixelformat.r_bitmask = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.pixelformat.r_bitmask" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.pixelformat.g_bitmask = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.pixelformat.g_bitmask = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.pixelformat.g_bitmask" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.pixelformat.b_bitmask = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.pixelformat.b_bitmask = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.pixelformat.b_bitmask" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.pixelformat.alpha_bitmask = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.pixelformat.alpha_bitmask = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.pixelformat.alpha_bitmask" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.ddscaps1 = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.ddscaps1 = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.ddscaps1" identifier . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "dds_info.ddscaps2 = ReadBlobLSBLong(pIVar3);" (assignment_expression "dds_info.ddscaps2 = ReadBlobLSBLong(pIVar3)" (field_expression "dds_info.ddscaps2" identifier . field_identifier) = (call_expression "ReadBlobLSBLong(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (expression_statement "SeekBlob(pIVar3,0xc,1);" (call_expression "SeekBlob(pIVar3,0xc,1)" identifier (argument_list "(pIVar3,0xc,1)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uVar5 = dds_info.ddscaps2 & 0x200;" (assignment_expression "uVar5 = dds_info.ddscaps2 & 0x200" identifier = (binary_expression "dds_info.ddscaps2 & 0x200" (field_expression "dds_info.ddscaps2" identifier . field_identifier) & number_literal)) ;) (expression_statement "bVar10 = (dds_info.ddscaps2 & 0x200000) != 0;" (assignment_expression "bVar10 = (dds_info.ddscaps2 & 0x200000) != 0" identifier = (binary_expression "(dds_info.ddscaps2 & 0x200000) != 0" (parenthesized_expression "(dds_info.ddscaps2 & 0x200000)" ( (binary_expression "dds_info.ddscaps2 & 0x200000" (field_expression "dds_info.ddscaps2" identifier . field_identifier) & number_literal) )) != number_literal)) ;) (expression_statement "bVar11 = dds_info.depth != 0;" (assignment_expression "bVar11 = dds_info.depth != 0" identifier = (binary_expression "dds_info.depth != 0" (field_expression "dds_info.depth" identifier . field_identifier) != number_literal)) ;) (expression_statement "bVar2 = bVar10 && bVar11;" (assignment_expression "bVar2 = bVar10 && bVar11" identifier = (binary_expression "bVar10 && bVar11" identifier && identifier)) ;) (expression_statement "SeekBlob(pIVar3,0x80,0);" (call_expression "SeekBlob(pIVar3,0x80,0)" identifier (argument_list "(pIVar3,0x80,0)" ( identifier , number_literal , number_literal ))) ;) (if_statement "if ((dds_info.pixelformat.flags & 0x40) == 0) {\n      if ((dds_info.pixelformat.flags & 0x20000) == 0) {\n        if ((dds_info.pixelformat.flags & 4) != 0) {\n          if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x729;\n      }\n      else {\n        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x6fe;\n      }\n    }\n    else {\n      if ((dds_info.pixelformat.flags & 1) != 0) {\n        local_68 = ReadUncompressedRGBA;\n        local_6c = BlendPixelTrait;\n        local_70 = NoCompression;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = ReadUncompressedRGB;\n      local_6c = UndefinedPixelTrait;\n      local_70 = NoCompression;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar2) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);\n        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar6 = "ImproperImageHeader";\n      severity = CorruptImageError;\n      line = 0x73f;\n    }" if (parenthesized_expression "((dds_info.pixelformat.flags & 0x40) == 0)" ( (binary_expression "(dds_info.pixelformat.flags & 0x40) == 0" (parenthesized_expression "(dds_info.pixelformat.flags & 0x40)" ( (binary_expression "dds_info.pixelformat.flags & 0x40" (field_expression "dds_info.pixelformat.flags" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((dds_info.pixelformat.flags & 0x20000) == 0) {\n        if ((dds_info.pixelformat.flags & 4) != 0) {\n          if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x729;\n      }\n      else {\n        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x6fe;\n      }\n    }" { (if_statement "if ((dds_info.pixelformat.flags & 0x20000) == 0) {\n        if ((dds_info.pixelformat.flags & 4) != 0) {\n          if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x729;\n      }\n      else {\n        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x6fe;\n      }" if (parenthesized_expression "((dds_info.pixelformat.flags & 0x20000) == 0)" ( (binary_expression "(dds_info.pixelformat.flags & 0x20000) == 0" (parenthesized_expression "(dds_info.pixelformat.flags & 0x20000)" ( (binary_expression "dds_info.pixelformat.flags & 0x20000" (field_expression "dds_info.pixelformat.flags" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((dds_info.pixelformat.flags & 4) != 0) {\n          if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x729;\n      }" { (if_statement "if ((dds_info.pixelformat.flags & 4) != 0) {\n          if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }\n          goto joined_r0x001e9c17;\n        }" if (parenthesized_expression "((dds_info.pixelformat.flags & 4) != 0)" ( (binary_expression "(dds_info.pixelformat.flags & 4) != 0" (parenthesized_expression "(dds_info.pixelformat.flags & 4)" ( (binary_expression "dds_info.pixelformat.flags & 4" (field_expression "dds_info.pixelformat.flags" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }\n          goto joined_r0x001e9c17;\n        }" { (if_statement "if (dds_info.pixelformat.fourcc == 0x33545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }\n          else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }" if (parenthesized_expression "(dds_info.pixelformat.fourcc == 0x33545844)" ( (binary_expression "dds_info.pixelformat.fourcc == 0x33545844" (field_expression "dds_info.pixelformat.fourcc" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT3;\n            local_70 = DXT3Compression;\n          }" { (expression_statement "local_6c = BlendPixelTrait;" (assignment_expression "local_6c = BlendPixelTrait" identifier = identifier) ;) (expression_statement "local_68 = ReadDXT3;" (assignment_expression "local_68 = ReadDXT3" identifier = identifier) ;) (expression_statement "local_70 = DXT3Compression;" (assignment_expression "local_70 = DXT3Compression" identifier = identifier) ;) }) (else_clause "else if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }" else (if_statement "if (dds_info.pixelformat.fourcc == 0x35545844) {\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }\n          else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }" if (parenthesized_expression "(dds_info.pixelformat.fourcc == 0x35545844)" ( (binary_expression "dds_info.pixelformat.fourcc == 0x35545844" (field_expression "dds_info.pixelformat.fourcc" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n            local_6c = BlendPixelTrait;\n            local_68 = ReadDXT5;\n            local_70 = DXT5Compression;\n          }" { (expression_statement "local_6c = BlendPixelTrait;" (assignment_expression "local_6c = BlendPixelTrait" identifier = identifier) ;) (expression_statement "local_68 = ReadDXT5;" (assignment_expression "local_68 = ReadDXT5" identifier = identifier) ;) (expression_statement "local_70 = DXT5Compression;" (assignment_expression "local_70 = DXT5Compression" identifier = identifier) ;) }) (else_clause "else {\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }" else (compound_statement "{\n            if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = ReadDXT1;\n            local_6c = UndefinedPixelTrait;\n            local_70 = DXT1Compression;\n          }" { (if_statement "if (dds_info.pixelformat.fourcc != 0x31545844) {\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }" if (parenthesized_expression "(dds_info.pixelformat.fourcc != 0x31545844)" ( (binary_expression "dds_info.pixelformat.fourcc != 0x31545844" (field_expression "dds_info.pixelformat.fourcc" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n              pcVar6 = "ImageTypeNotSupported";\n              severity = CorruptImageError;\n              line = 0x722;\n              goto LAB_001e9a2a;\n            }" { (expression_statement "pcVar6 = "ImageTypeNotSupported";" (assignment_expression "pcVar6 = "ImageTypeNotSupported"" identifier = (string_literal ""ImageTypeNotSupported"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "line = 0x722;" (assignment_expression "line = 0x722" identifier = number_literal) ;) (goto_statement "goto LAB_001e9a2a;" goto statement_identifier ;) })) (expression_statement "local_68 = ReadDXT1;" (assignment_expression "local_68 = ReadDXT1" identifier = identifier) ;) (expression_statement "local_6c = UndefinedPixelTrait;" (assignment_expression "local_6c = UndefinedPixelTrait" identifier = identifier) ;) (expression_statement "local_70 = DXT1Compression;" (assignment_expression "local_70 = DXT1Compression" identifier = identifier) ;) }))))) (goto_statement "goto joined_r0x001e9c17;" goto statement_identifier ;) })) (expression_statement "pcVar6 = "ImageTypeNotSupported";" (assignment_expression "pcVar6 = "ImageTypeNotSupported"" identifier = (string_literal ""ImageTypeNotSupported"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "line = 0x729;" (assignment_expression "line = 0x729" identifier = number_literal) ;) }) (else_clause "else {\n        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x6fe;\n      }" else (compound_statement "{\n        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;\n        pcVar6 = "ImageTypeNotSupported";\n        severity = CorruptImageError;\n        line = 0x6fe;\n      }" { (if_statement "if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;" if (parenthesized_expression "((dds_info.pixelformat.flags & 1) == 0)" ( (binary_expression "(dds_info.pixelformat.flags & 1) == 0" (parenthesized_expression "(dds_info.pixelformat.flags & 1)" ( (binary_expression "dds_info.pixelformat.flags & 1" (field_expression "dds_info.pixelformat.flags" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001e9cf3;" goto statement_identifier ;)) (expression_statement "pcVar6 = "ImageTypeNotSupported";" (assignment_expression "pcVar6 = "ImageTypeNotSupported"" identifier = (string_literal ""ImageTypeNotSupported"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "line = 0x6fe;" (assignment_expression "line = 0x6fe" identifier = number_literal) ;) }))) }) (else_clause "else {\n      if ((dds_info.pixelformat.flags & 1) != 0) {\n        local_68 = ReadUncompressedRGBA;\n        local_6c = BlendPixelTrait;\n        local_70 = NoCompression;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = ReadUncompressedRGB;\n      local_6c = UndefinedPixelTrait;\n      local_70 = NoCompression;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar2) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);\n        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar6 = "ImproperImageHeader";\n      severity = CorruptImageError;\n      line = 0x73f;\n    }" else (compound_statement "{\n      if ((dds_info.pixelformat.flags & 1) != 0) {\n        local_68 = ReadUncompressedRGBA;\n        local_6c = BlendPixelTrait;\n        local_70 = NoCompression;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = ReadUncompressedRGB;\n      local_6c = UndefinedPixelTrait;\n      local_70 = NoCompression;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar2) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);\n        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar6 = "ImproperImageHeader";\n      severity = CorruptImageError;\n      line = 0x73f;\n    }" { (if_statement "if ((dds_info.pixelformat.flags & 1) != 0) {\n        local_68 = ReadUncompressedRGBA;\n        local_6c = BlendPixelTrait;\n        local_70 = NoCompression;\n        goto joined_r0x001e9c17;\n      }" if (parenthesized_expression "((dds_info.pixelformat.flags & 1) != 0)" ( (binary_expression "(dds_info.pixelformat.flags & 1) != 0" (parenthesized_expression "(dds_info.pixelformat.flags & 1)" ( (binary_expression "dds_info.pixelformat.flags & 1" (field_expression "dds_info.pixelformat.flags" (field_expression "dds_info.pixelformat" identifier . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_68 = ReadUncompressedRGBA;\n        local_6c = BlendPixelTrait;\n        local_70 = NoCompression;\n        goto joined_r0x001e9c17;\n      }" { (expression_statement "local_68 = ReadUncompressedRGBA;" (assignment_expression "local_68 = ReadUncompressedRGBA" identifier = identifier) ;) (expression_statement "local_6c = BlendPixelTrait;" (assignment_expression "local_6c = BlendPixelTrait" identifier = identifier) ;) (expression_statement "local_70 = NoCompression;" (assignment_expression "local_70 = NoCompression" identifier = identifier) ;) (goto_statement "goto joined_r0x001e9c17;" goto statement_identifier ;) })) (labeled_statement "LAB_001e9cf3:\n      local_68 = ReadUncompressedRGB;" statement_identifier : (expression_statement "local_68 = ReadUncompressedRGB;" (assignment_expression "local_68 = ReadUncompressedRGB" identifier = identifier) ;)) (expression_statement "local_6c = UndefinedPixelTrait;" (assignment_expression "local_6c = UndefinedPixelTrait" identifier = identifier) ;) (expression_statement "local_70 = NoCompression;" (assignment_expression "local_70 = NoCompression" identifier = identifier) ;) (labeled_statement "joined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar2) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);\n        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" statement_identifier : (if_statement "if (uVar5 == 0) {\n        if (bVar2) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);\n        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        if (bVar2) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);\n        if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }" { (if_statement "if (bVar2) goto LAB_001e9da7;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_001e9da7;" goto statement_identifier ;)) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (labeled_statement "LAB_001e9c3f:\n        MVar12 = GetBlobSize(pIVar3);" statement_identifier : (expression_statement "MVar12 = GetBlobSize(pIVar3);" (assignment_expression "MVar12 = GetBlobSize(pIVar3)" identifier = (call_expression "GetBlobSize(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;)) (if_statement "if ((0xffffffff < MVar12) || (local_74 <= (uint)MVar12)) {\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }" if (parenthesized_expression "((0xffffffff < MVar12) || (local_74 <= (uint)MVar12))" ( (binary_expression "(0xffffffff < MVar12) || (local_74 <= (uint)MVar12)" (parenthesized_expression "(0xffffffff < MVar12)" ( (binary_expression "0xffffffff < MVar12" number_literal < identifier) )) || (parenthesized_expression "(local_74 <= (uint)MVar12)" ( (binary_expression "local_74 <= (uint)MVar12" identifier <= (cast_expression "(uint)MVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) (compound_statement "{\n          MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);\n          if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }\n          pcVar6 = "ListLengthExceedsLimit";\n          severity = ErrorException;\n          line = 0x742;\n          goto LAB_001e9a2a;\n        }" { (expression_statement "MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74);" (assignment_expression "MVar4 = AcquireMagickResource(ListLengthResource,(ulonglong)local_74)" identifier = (call_expression "AcquireMagickResource(ListLengthResource,(ulonglong)local_74)" identifier (argument_list "(ListLengthResource,(ulonglong)local_74)" ( identifier , (cast_expression "(ulonglong)local_74" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if (MVar4 != MagickFalse) {\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }" if (parenthesized_expression "(MVar4 != MagickFalse)" ( (binary_expression "MVar4 != MagickFalse" identifier != identifier) )) (compound_statement "{\n            pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");\n            MVar4 = IsStringFalse(pcVar6);\n            local_7c = 0;\n            while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }\n            CloseBlob(pIVar3);\n            pIVar3 = GetFirstImageInList(pIVar3);\n            goto LAB_001e9a5b;\n          }" { (expression_statement "pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps");" (assignment_expression "pcVar6 = GetImageOption(image_info,"dds:skip-mipmaps")" identifier = (call_expression "GetImageOption(image_info,"dds:skip-mipmaps")" identifier (argument_list "(image_info,"dds:skip-mipmaps")" ( identifier , (string_literal ""dds:skip-mipmaps"" " string_content ") )))) ;) (expression_statement "MVar4 = IsStringFalse(pcVar6);" (assignment_expression "MVar4 = IsStringFalse(pcVar6)" identifier = (call_expression "IsStringFalse(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pIVar3->endian = LSBEndian;\n              pIVar3->depth = 8;\n              MVar7 = image_info->ping;\n              pIVar3->alpha_trait = local_6c;\n              pIVar3->rows = dds_info.height;\n              pIVar3->compression = local_70;\n              pIVar3->storage_class = DirectClass;\n              pIVar3->columns = dds_info.width;\n              if (MVar7 != MagickFalse) break;\n              MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);\n              if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(pIVar3,exception);\n              iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);\n              if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar8 = EOFBlob(pIVar3);\n              if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(image_info,pIVar3,exception);\n              pIVar9 = GetNextImageInList(pIVar3);\n              if (pIVar9 == (Image *)0x0) goto LAB_001ea000;\n              pIVar3 = SyncNextImageInList(pIVar3);\n            }" { (expression_statement "pIVar3->endian = LSBEndian;" (assignment_expression "pIVar3->endian = LSBEndian" (field_expression "pIVar3->endian" identifier -> field_identifier) = identifier) ;) (expression_statement "pIVar3->depth = 8;" (assignment_expression "pIVar3->depth = 8" (field_expression "pIVar3->depth" identifier -> field_identifier) = number_literal) ;) (expression_statement "MVar7 = image_info->ping;" (assignment_expression "MVar7 = image_info->ping" identifier = (field_expression "image_info->ping" identifier -> field_identifier)) ;) (expression_statement "pIVar3->alpha_trait = local_6c;" (assignment_expression "pIVar3->alpha_trait = local_6c" (field_expression "pIVar3->alpha_trait" identifier -> field_identifier) = identifier) ;) (expression_statement "pIVar3->rows = dds_info.height;" (assignment_expression "pIVar3->rows = dds_info.height" (field_expression "pIVar3->rows" identifier -> field_identifier) = (field_expression "dds_info.height" identifier . field_identifier)) ;) (expression_statement "pIVar3->compression = local_70;" (assignment_expression "pIVar3->compression = local_70" (field_expression "pIVar3->compression" identifier -> field_identifier) = identifier) ;) (expression_statement "pIVar3->storage_class = DirectClass;" (assignment_expression "pIVar3->storage_class = DirectClass" (field_expression "pIVar3->storage_class" identifier -> field_identifier) = identifier) ;) (expression_statement "pIVar3->columns = dds_info.width;" (assignment_expression "pIVar3->columns = dds_info.width" (field_expression "pIVar3->columns" identifier -> field_identifier) = (field_expression "dds_info.width" identifier . field_identifier)) ;) (if_statement "if (MVar7 != MagickFalse) break;" if (parenthesized_expression "(MVar7 != MagickFalse)" ( (binary_expression "MVar7 != MagickFalse" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception);" (assignment_expression "MVar7 = SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception)" identifier = (call_expression "SetImageExtent(pIVar3,dds_info.width,dds_info.height,exception)" identifier (argument_list "(pIVar3,dds_info.width,dds_info.height,exception)" ( identifier , (field_expression "dds_info.width" identifier . field_identifier) , (field_expression "dds_info.height" identifier . field_identifier) , identifier )))) ;) (if_statement "if (MVar7 == MagickFalse) {\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }" if (parenthesized_expression "(MVar7 == MagickFalse)" ( (binary_expression "MVar7 == MagickFalse" identifier == identifier) )) (compound_statement "{\nLAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);\n                goto LAB_001e9a5b;\n              }" { (labeled_statement "LAB_001ea000:\n                pIVar3 = DestroyImageList(pIVar3);" statement_identifier : (expression_statement "pIVar3 = DestroyImageList(pIVar3);" (assignment_expression "pIVar3 = DestroyImageList(pIVar3)" identifier = (call_expression "DestroyImageList(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;)) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "SetImageBackgroundColor(pIVar3,exception);" (call_expression "SetImageBackgroundColor(pIVar3,exception)" identifier (argument_list "(pIVar3,exception)" ( identifier , identifier ))) ;) (expression_statement "iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception);" (assignment_expression "iVar8 = (*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception)" identifier = (call_expression "(*local_68)(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception)" (parenthesized_expression "(*local_68)" ( (pointer_expression "*local_68" * identifier) )) (argument_list "(image_info,pIVar3,&dds_info,MVar4 != MagickFalse,exception)" ( identifier , identifier , (pointer_expression "&dds_info" & identifier) , (binary_expression "MVar4 != MagickFalse" identifier != identifier) , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                CloseBlob(pIVar3);\n                if (local_7c == 0) goto LAB_001ea000;\n                pIVar3 = GetFirstImageInList(pIVar3);\n                goto LAB_001e9a5b;\n              }" { (expression_statement "CloseBlob(pIVar3);" (call_expression "CloseBlob(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier ))) ;) (if_statement "if (local_7c == 0) goto LAB_001ea000;" if (parenthesized_expression "(local_7c == 0)" ( (binary_expression "local_7c == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ea000;" goto statement_identifier ;)) (expression_statement "pIVar3 = GetFirstImageInList(pIVar3);" (assignment_expression "pIVar3 = GetFirstImageInList(pIVar3)" identifier = (call_expression "GetFirstImageInList(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) (if_statement "if (local_7c == local_74) break;" if (parenthesized_expression "(local_7c == local_74)" ( (binary_expression "local_7c == local_74" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = EOFBlob(pIVar3);" (assignment_expression "iVar8 = EOFBlob(pIVar3)" identifier = (call_expression "EOFBlob(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);\n                goto LAB_001e9a48;\n              }" { (expression_statement "ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename);" (call_expression "ThrowMagickException\n                          (exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename)" identifier (argument_list "(exception,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,\n                           "UnexpectedEndOfFile","`%s\'",image_info->filename)" ( identifier , (string_literal ""coders/dds.c"" " string_content ") , (string_literal ""ReadDDSImage"" " string_content ") , number_literal , identifier , (string_literal ""UnexpectedEndOfFile"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;) (goto_statement "goto LAB_001e9a48;" goto statement_identifier ;) })) (expression_statement "AcquireNextImage(image_info,pIVar3,exception);" (call_expression "AcquireNextImage(image_info,pIVar3,exception)" identifier (argument_list "(image_info,pIVar3,exception)" ( identifier , identifier , identifier ))) ;) (expression_statement "pIVar9 = GetNextImageInList(pIVar3);" (assignment_expression "pIVar9 = GetNextImageInList(pIVar3)" identifier = (call_expression "GetNextImageInList(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (if_statement "if (pIVar9 == (Image *)0x0) goto LAB_001ea000;" 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)) )) (goto_statement "goto LAB_001ea000;" goto statement_identifier ;)) (expression_statement "pIVar3 = SyncNextImageInList(pIVar3);" (assignment_expression "pIVar3 = SyncNextImageInList(pIVar3)" identifier = (call_expression "SyncNextImageInList(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) })) (expression_statement "CloseBlob(pIVar3);" (call_expression "CloseBlob(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier ))) ;) (expression_statement "pIVar3 = GetFirstImageInList(pIVar3);" (assignment_expression "pIVar3 = GetFirstImageInList(pIVar3)" identifier = (call_expression "GetFirstImageInList(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier )))) ;) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "pcVar6 = "ListLengthExceedsLimit";" (assignment_expression "pcVar6 = "ListLengthExceedsLimit"" identifier = (string_literal ""ListLengthExceedsLimit"" " string_content ")) ;) (expression_statement "severity = ErrorException;" (assignment_expression "severity = ErrorException" identifier = identifier) ;) (expression_statement "line = 0x742;" (assignment_expression "line = 0x742" identifier = number_literal) ;) (goto_statement "goto LAB_001e9a2a;" goto statement_identifier ;) })) }) (else_clause "else {\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" else (compound_statement "{\n        uVar5 = dds_info.ddscaps2 >> 10 & 1;\n        if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);\n        if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" { (expression_statement "uVar5 = dds_info.ddscaps2 >> 10 & 1;" (assignment_expression "uVar5 = dds_info.ddscaps2 >> 10 & 1" identifier = (binary_expression "dds_info.ddscaps2 >> 10 & 1" (binary_expression "dds_info.ddscaps2 >> 10" (field_expression "dds_info.ddscaps2" identifier . field_identifier) >> number_literal) & number_literal)) ;) (if_statement "if ((dds_info.ddscaps2 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }" if (parenthesized_expression "((dds_info.ddscaps2 & 0x800) != 0)" ( (binary_expression "(dds_info.ddscaps2 & 0x800) != 0" (parenthesized_expression "(dds_info.ddscaps2 & 0x800)" ( (binary_expression "dds_info.ddscaps2 & 0x800" (field_expression "dds_info.ddscaps2" identifier . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar5 = uVar5 + 1;\n        }" { (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0);" (assignment_expression "local_74 = (((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0)" identifier = (binary_expression "(((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -\n                   (uint)((dds_info.ddscaps2 & 0x4000) == 0)" (parenthesized_expression "(((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3)" ( (binary_expression "((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)) + 3" (parenthesized_expression "((uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0))" ( (binary_expression "(uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)) -\n                    (uint)((dds_info.ddscaps2 & 0x2000) == 0)" (parenthesized_expression "(uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0))" ( (binary_expression "uVar5 - ((dds_info.ddscaps2 & 0x1000) == 0)" identifier - (parenthesized_expression "((dds_info.ddscaps2 & 0x1000) == 0)" ( (binary_expression "(dds_info.ddscaps2 & 0x1000) == 0" (parenthesized_expression "(dds_info.ddscaps2 & 0x1000)" ( (binary_expression "dds_info.ddscaps2 & 0x1000" (field_expression "dds_info.ddscaps2" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) - (call_expression "(uint)((dds_info.ddscaps2 & 0x2000) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((dds_info.ddscaps2 & 0x2000) == 0)" ( (binary_expression "(dds_info.ddscaps2 & 0x2000) == 0" (parenthesized_expression "(dds_info.ddscaps2 & 0x2000)" ( (binary_expression "dds_info.ddscaps2 & 0x2000" (field_expression "dds_info.ddscaps2" identifier . field_identifier) & number_literal) )) == number_literal) )))) )) + number_literal) )) - (call_expression "(uint)((dds_info.ddscaps2 & 0x4000) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((dds_info.ddscaps2 & 0x4000) == 0)" ( (binary_expression "(dds_info.ddscaps2 & 0x4000) == 0" (parenthesized_expression "(dds_info.ddscaps2 & 0x4000)" ( (binary_expression "dds_info.ddscaps2 & 0x4000" (field_expression "dds_info.ddscaps2" identifier . field_identifier) & number_literal) )) == number_literal) ))))) ;) (if_statement "if ((dds_info.ddscaps2 & 0x8000) == 0) {\n          if (bVar2) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }" if (parenthesized_expression "((dds_info.ddscaps2 & 0x8000) == 0)" ( (binary_expression "(dds_info.ddscaps2 & 0x8000) == 0" (parenthesized_expression "(dds_info.ddscaps2 & 0x8000)" ( (binary_expression "dds_info.ddscaps2 & 0x8000" (field_expression "dds_info.ddscaps2" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (bVar2) goto LAB_001e9da7;\n        }" { (if_statement "if (bVar2) goto LAB_001e9da7;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_001e9da7;" goto statement_identifier ;)) }) (else_clause "else {\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }" else (compound_statement "{\n          if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = dds_info.depth;\n        }" { (if_statement "if (!bVar10 || !bVar11) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }" if (parenthesized_expression "(!bVar10 || !bVar11)" ( (binary_expression "!bVar10 || !bVar11" (unary_expression "!bVar10" ! identifier) || (unary_expression "!bVar11" ! identifier)) )) (compound_statement "{\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }" { (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_001e9c3f;" goto statement_identifier ;) })) (labeled_statement "LAB_001e9da7:\n          local_74 = dds_info.depth;" statement_identifier : (expression_statement "local_74 = dds_info.depth;" (assignment_expression "local_74 = dds_info.depth" identifier = (field_expression "dds_info.depth" identifier . field_identifier)) ;)) }))) (if_statement "if (local_74 != 0) goto LAB_001e9c3f;" if (parenthesized_expression "(local_74 != 0)" ( (binary_expression "local_74 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001e9c3f;" goto statement_identifier ;)) })))) (expression_statement "pcVar6 = "ImproperImageHeader";" (assignment_expression "pcVar6 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "line = 0x73f;" (assignment_expression "line = 0x73f" identifier = number_literal) ;) }))) }) (else_clause "else {\nLAB_001e9a0b:\n    pcVar6 = "ImproperImageHeader";\n    severity = CorruptImageError;\n    line = 0x6dd;\n  }" else (compound_statement "{\nLAB_001e9a0b:\n    pcVar6 = "ImproperImageHeader";\n    severity = CorruptImageError;\n    line = 0x6dd;\n  }" { (labeled_statement "LAB_001e9a0b:\n    pcVar6 = "ImproperImageHeader";" statement_identifier : (expression_statement "pcVar6 = "ImproperImageHeader";" (assignment_expression "pcVar6 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;)) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "line = 0x6dd;" (assignment_expression "line = 0x6dd" identifier = number_literal) ;) }))) (labeled_statement "LAB_001e9a2a:\n  ThrowMagickException\n            (exception,"coders/dds.c","ReadDDSImage",line,severity,pcVar6,"`%s\'",\n             image_info->filename);" statement_identifier : (expression_statement "ThrowMagickException\n            (exception,"coders/dds.c","ReadDDSImage",line,severity,pcVar6,"`%s\'",\n             image_info->filename);" (call_expression "ThrowMagickException\n            (exception,"coders/dds.c","ReadDDSImage",line,severity,pcVar6,"`%s\'",\n             image_info->filename)" identifier (argument_list "(exception,"coders/dds.c","ReadDDSImage",line,severity,pcVar6,"`%s\'",\n             image_info->filename)" ( identifier , (string_literal ""coders/dds.c"" " string_content ") , (string_literal ""ReadDDSImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;)) (if_statement "if (pIVar3 != (Image *)0x0) {\nLAB_001e9a48:\n    CloseBlob(pIVar3);\n    DestroyImageList(pIVar3);\n  }" if (parenthesized_expression "(pIVar3 != (Image *)0x0)" ( (binary_expression "pIVar3 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001e9a48:\n    CloseBlob(pIVar3);\n    DestroyImageList(pIVar3);\n  }" { (labeled_statement "LAB_001e9a48:\n    CloseBlob(pIVar3);" statement_identifier : (expression_statement "CloseBlob(pIVar3);" (call_expression "CloseBlob(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier ))) ;)) (expression_statement "DestroyImageList(pIVar3);" (call_expression "DestroyImageList(pIVar3)" identifier (argument_list "(pIVar3)" ( identifier ))) ;) })) (expression_statement "pIVar3 = (Image *)0x0;" (assignment_expression "pIVar3 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_001e9a5b:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar3;\n  }" statement_identifier : (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar3;\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    return pIVar3;\n  }" { (return_statement "return pIVar3;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "undefined4 FUN_001e9960(int param_1,int param_2)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int in_GS_OFFSET;\n  bool bVar6;\n  bool bVar7;\n  undefined8 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint local_7c;\n  uint local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  code *local_68;\n  uint local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  uint local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1e9969;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }\n  puVar2 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar3 = OpenBlob(param_1,puVar2,2,param_2);\n  if (iVar3 == 0) {\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }\n  SeekBlob(puVar2,4,0,0);\n  iVar3 = ReadBlobLSBLong(puVar2);\n  if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }\nLAB_001e9a2a:\n  ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);\n  if (puVar2 != (undefined4 *)0x0) {\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }\n  uVar9 = 0;\nLAB_001e9a5b:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }\n                    \n  FUN_0029eab0();\n}\n\n" (function_definition "undefined4 FUN_001e9960(int param_1,int param_2)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int in_GS_OFFSET;\n  bool bVar6;\n  bool bVar7;\n  undefined8 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint local_7c;\n  uint local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  code *local_68;\n  uint local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  uint local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1e9969;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }\n  puVar2 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar3 = OpenBlob(param_1,puVar2,2,param_2);\n  if (iVar3 == 0) {\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }\n  SeekBlob(puVar2,4,0,0);\n  iVar3 = ReadBlobLSBLong(puVar2);\n  if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }\nLAB_001e9a2a:\n  ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);\n  if (puVar2 != (undefined4 *)0x0) {\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }\n  uVar9 = 0;\nLAB_001e9a5b:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }\n                    \n  FUN_0029eab0();\n}" type_identifier (function_declarator "FUN_001e9960(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int in_GS_OFFSET;\n  bool bVar6;\n  bool bVar7;\n  undefined8 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint local_7c;\n  uint local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  code *local_68;\n  uint local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  uint local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1e9969;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }\n  puVar2 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar3 = OpenBlob(param_1,puVar2,2,param_2);\n  if (iVar3 == 0) {\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }\n  SeekBlob(puVar2,4,0,0);\n  iVar3 = ReadBlobLSBLong(puVar2);\n  if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }\nLAB_001e9a2a:\n  ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);\n  if (puVar2 != (undefined4 *)0x0) {\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }\n  uVar9 = 0;\nLAB_001e9a5b:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }\n                    \n  FUN_0029eab0();\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "code *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1e9969;" (assignment_expression "uStack_14 = 0x1e9969" 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/dds.c",0x6c7,"ReadDDSImage");\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/dds.c",0x6c7,"ReadDDSImage");\n  }" { (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\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/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }" { (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 )" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 )" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,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/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);\n  }" { (expression_statement "LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0)" identifier (argument_list "(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0)" ( number_literal , (string_literal ""coders/dds.c"" " string_content ") , (string_literal ""ReadDDSImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }" { (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }" { (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/dds.c"" " string_content ") , number_literal , (string_literal ""ReadDDSImage"" " string_content ") ))) ;) })) (expression_statement "puVar2 = (undefined4 *)AcquireImage(param_1,param_2);" (assignment_expression "puVar2 = (undefined4 *)AcquireImage(param_1,param_2)" identifier = (cast_expression "(undefined4 *)AcquireImage(param_1,param_2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "iVar3 = OpenBlob(param_1,puVar2,2,param_2);" (assignment_expression "iVar3 = OpenBlob(param_1,puVar2,2,param_2)" identifier = (call_expression "OpenBlob(param_1,puVar2,2,param_2)" identifier (argument_list "(param_1,puVar2,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }" { (expression_statement "DestroyImageList(puVar2);" (call_expression "DestroyImageList(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "SeekBlob(puVar2,4,0,0);" (call_expression "SeekBlob(puVar2,4,0,0)" identifier (argument_list "(puVar2,4,0,0)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar3 = ReadBlobLSBLong(puVar2);" (assignment_expression "iVar3 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (if_statement "if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }" if (parenthesized_expression "((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006))" ( (binary_expression "(iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)" (parenthesized_expression "(iVar3 == 0x7c)" ( (binary_expression "iVar3 == 0x7c" identifier == number_literal) )) && (parenthesized_expression "(local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)" ( (comma_expression "local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006" (assignment_expression "local_5c = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) , (binary_expression "(local_5c & 0x1006) == 0x1006" (parenthesized_expression "(local_5c & 0x1006)" ( (binary_expression "local_5c & 0x1006" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }" { (expression_statement "local_58 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_58 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_54 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_54 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_50 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_50 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_4c = ReadBlobLSBLong(puVar2);" (assignment_expression "local_4c = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_48 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_48 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "SeekBlob(puVar2,0x2c,0,1);" (call_expression "SeekBlob(puVar2,0x2c,0,1)" identifier (argument_list "(puVar2,0x2c,0,1)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "iVar3 = ReadBlobLSBLong(puVar2);" (assignment_expression "iVar3 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (if_statement "if (iVar3 != 0x20) goto LAB_001e9a0b;" if (parenthesized_expression "(iVar3 != 0x20)" ( (binary_expression "iVar3 != 0x20" identifier != number_literal) )) (goto_statement "goto LAB_001e9a0b;" goto statement_identifier ;)) (expression_statement "local_3c = ReadBlobLSBLong(puVar2);" (assignment_expression "local_3c = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_38 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_38 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_34 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_34 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_30 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_30 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_2c = ReadBlobLSBLong(puVar2);" (assignment_expression "local_2c = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_28 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_28 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_24 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_24 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_44 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_44 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "local_40 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_40 = ReadBlobLSBLong(puVar2)" identifier = (call_expression "ReadBlobLSBLong(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (expression_statement "SeekBlob(puVar2,0xc,0,1);" (call_expression "SeekBlob(puVar2,0xc,0,1)" identifier (argument_list "(puVar2,0xc,0,1)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "uVar5 = local_40 & 0x200;" (assignment_expression "uVar5 = local_40 & 0x200" identifier = (binary_expression "local_40 & 0x200" identifier & number_literal)) ;) (expression_statement "bVar6 = (local_40 & 0x200000) != 0;" (assignment_expression "bVar6 = (local_40 & 0x200000) != 0" identifier = (binary_expression "(local_40 & 0x200000) != 0" (parenthesized_expression "(local_40 & 0x200000)" ( (binary_expression "local_40 & 0x200000" identifier & number_literal) )) != number_literal)) ;) (expression_statement "bVar7 = local_4c != 0;" (assignment_expression "bVar7 = local_4c != 0" identifier = (binary_expression "local_4c != 0" identifier != number_literal)) ;) (expression_statement "bVar1 = bVar6 && bVar7;" (assignment_expression "bVar1 = bVar6 && bVar7" identifier = (binary_expression "bVar6 && bVar7" identifier && identifier)) ;) (expression_statement "SeekBlob(puVar2,0x80,0,0);" (call_expression "SeekBlob(puVar2,0x80,0,0)" identifier (argument_list "(puVar2,0x80,0,0)" ( identifier , number_literal , number_literal , number_literal ))) ;) (if_statement "if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }" if (parenthesized_expression "((local_3c & 0x40) == 0)" ( (binary_expression "(local_3c & 0x40) == 0" (parenthesized_expression "(local_3c & 0x40)" ( (binary_expression "local_3c & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }" { (if_statement "if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }" if (parenthesized_expression "((local_3c & 0x20000) == 0)" ( (binary_expression "(local_3c & 0x20000) == 0" (parenthesized_expression "(local_3c & 0x20000)" ( (binary_expression "local_3c & 0x20000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }" { (if_statement "if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }" if (parenthesized_expression "((local_3c & 4) != 0)" ( (binary_expression "(local_3c & 4) != 0" (parenthesized_expression "(local_3c & 4)" ( (binary_expression "local_3c & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }" { (if_statement "if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" if (parenthesized_expression "(local_38 == 0x33545844)" ( (binary_expression "local_38 == 0x33545844" identifier == number_literal) )) (compound_statement "{\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }" { (expression_statement "local_6c = 4;" (assignment_expression "local_6c = 4" identifier = number_literal) ;) (expression_statement "local_68 = FUN_001ebc60;" (assignment_expression "local_68 = FUN_001ebc60" identifier = identifier) ;) (expression_statement "local_70 = 5;" (assignment_expression "local_70 = 5" identifier = number_literal) ;) }) (else_clause "else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" else (if_statement "if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" if (parenthesized_expression "(local_38 == 0x35545844)" ( (binary_expression "local_38 == 0x35545844" identifier == number_literal) )) (compound_statement "{\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }" { (expression_statement "local_6c = 4;" (assignment_expression "local_6c = 4" identifier = number_literal) ;) (expression_statement "local_68 = FUN_001ebbc0;" (assignment_expression "local_68 = FUN_001ebbc0" identifier = identifier) ;) (expression_statement "local_70 = 6;" (assignment_expression "local_70 = 6" identifier = number_literal) ;) }) (else_clause "else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" else (compound_statement "{\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" { (if_statement "if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }" if (parenthesized_expression "(local_38 != 0x31545844)" ( (binary_expression "local_38 != 0x31545844" identifier != number_literal) )) (compound_statement "{\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }" { (expression_statement "pcVar11 = "ImageTypeNotSupported";" (assignment_expression "pcVar11 = "ImageTypeNotSupported"" identifier = (string_literal ""ImageTypeNotSupported"" " string_content ")) ;) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar9 = 0x722;" (assignment_expression "uVar9 = 0x722" identifier = number_literal) ;) (goto_statement "goto LAB_001e9a2a;" goto statement_identifier ;) })) (expression_statement "local_68 = FUN_001ebd00;" (assignment_expression "local_68 = FUN_001ebd00" identifier = identifier) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_70 = 4;" (assignment_expression "local_70 = 4" identifier = number_literal) ;) }))))) (goto_statement "goto joined_r0x001e9c17;" goto statement_identifier ;) })) (expression_statement "pcVar11 = "ImageTypeNotSupported";" (assignment_expression "pcVar11 = "ImageTypeNotSupported"" identifier = (string_literal ""ImageTypeNotSupported"" " string_content ")) ;) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar9 = 0x729;" (assignment_expression "uVar9 = 0x729" identifier = number_literal) ;) }) (else_clause "else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }" else (compound_statement "{\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }" { (if_statement "if ((local_3c & 1) == 0) goto LAB_001e9cf3;" if (parenthesized_expression "((local_3c & 1) == 0)" ( (binary_expression "(local_3c & 1) == 0" (parenthesized_expression "(local_3c & 1)" ( (binary_expression "local_3c & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001e9cf3;" goto statement_identifier ;)) (expression_statement "pcVar11 = "ImageTypeNotSupported";" (assignment_expression "pcVar11 = "ImageTypeNotSupported"" identifier = (string_literal ""ImageTypeNotSupported"" " string_content ")) ;) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar9 = 0x6fe;" (assignment_expression "uVar9 = 0x6fe" identifier = number_literal) ;) }))) }) (else_clause "else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }" else (compound_statement "{\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }" { (if_statement "if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }" if (parenthesized_expression "((local_3c & 1) != 0)" ( (binary_expression "(local_3c & 1) != 0" (parenthesized_expression "(local_3c & 1)" ( (binary_expression "local_3c & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }" { (expression_statement "local_68 = FUN_001ebda0;" (assignment_expression "local_68 = FUN_001ebda0" identifier = identifier) ;) (expression_statement "local_6c = 4;" (assignment_expression "local_6c = 4" identifier = number_literal) ;) (expression_statement "local_70 = 0x10;" (assignment_expression "local_70 = 0x10" identifier = number_literal) ;) (goto_statement "goto joined_r0x001e9c17;" goto statement_identifier ;) })) (labeled_statement "LAB_001e9cf3:\n      local_68 = FUN_001eb130;" statement_identifier : (expression_statement "local_68 = FUN_001eb130;" (assignment_expression "local_68 = FUN_001eb130" identifier = identifier) ;)) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0x10;" (assignment_expression "local_70 = 0x10" identifier = number_literal) ;) (labeled_statement "joined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" statement_identifier : (if_statement "if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }" { (if_statement "if (bVar1) goto LAB_001e9da7;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_001e9da7;" goto statement_identifier ;)) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (labeled_statement "LAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);" statement_identifier : (expression_statement "uVar8 = GetBlobSize(puVar2);" (assignment_expression "uVar8 = GetBlobSize(puVar2)" identifier = (call_expression "GetBlobSize(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;)) (if_statement "if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8))" ( (binary_expression "((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)" (parenthesized_expression "((int)((ulonglong)uVar8 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar8 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar8 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar8 >> 0x20)" ( (binary_expression "(ulonglong)uVar8 >> 0x20" (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) || (parenthesized_expression "(local_74 <= (uint)uVar8)" ( (binary_expression "local_74 <= (uint)uVar8" identifier <= (cast_expression "(uint)uVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) (compound_statement "{\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }" { (expression_statement "iVar3 = AcquireMagickResource(0xb,local_74,0);" (assignment_expression "iVar3 = AcquireMagickResource(0xb,local_74,0)" identifier = (call_expression "AcquireMagickResource(0xb,local_74,0)" identifier (argument_list "(0xb,local_74,0)" ( number_literal , identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }" { (expression_statement "uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");" (assignment_expression "uVar9 = GetImageOption(param_1,"dds:skip-mipmaps")" identifier = (call_expression "GetImageOption(param_1,"dds:skip-mipmaps")" identifier (argument_list "(param_1,"dds:skip-mipmaps")" ( identifier , (string_literal ""dds:skip-mipmaps"" " string_content ") )))) ;) (expression_statement "iVar3 = IsStringFalse(uVar9);" (assignment_expression "iVar3 = IsStringFalse(uVar9)" identifier = (call_expression "IsStringFalse(uVar9)" identifier (argument_list "(uVar9)" ( identifier )))) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }" { (expression_statement "puVar2[0x8d] = 1;" (assignment_expression "puVar2[0x8d] = 1" (subscript_expression "puVar2[0x8d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[8] = 8;" (assignment_expression "puVar2[8] = 8" (subscript_expression "puVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x1bc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x1bc)" identifier = (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) ))))) ;) (expression_statement "puVar2[0xa5] = local_6c;" (assignment_expression "puVar2[0xa5] = local_6c" (subscript_expression "puVar2[0xa5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[7] = local_58;" (assignment_expression "puVar2[7] = local_58" (subscript_expression "puVar2[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[2] = local_70;" (assignment_expression "puVar2[2] = local_70" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar2 = 1;" (assignment_expression "*puVar2 = 1" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "puVar2[6] = local_54;" (assignment_expression "puVar2[6] = local_54" (subscript_expression "puVar2[6]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar4 != 0) break;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);" (assignment_expression "iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2)" identifier = (call_expression "SetImageExtent(puVar2,local_54,local_58,param_2)" identifier (argument_list "(puVar2,local_54,local_58,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }" { (labeled_statement "LAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);" statement_identifier : (expression_statement "uVar9 = DestroyImageList(puVar2);" (assignment_expression "uVar9 = DestroyImageList(puVar2)" identifier = (call_expression "DestroyImageList(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;)) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "SetImageBackgroundColor(puVar2,param_2);" (call_expression "SetImageBackgroundColor(puVar2,param_2)" identifier (argument_list "(puVar2,param_2)" ( identifier , identifier ))) ;) (expression_statement "iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);" (assignment_expression "iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2)" identifier = (call_expression "(*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2)" (parenthesized_expression "(*local_68)" ( (pointer_expression "*local_68" * identifier) )) (argument_list "(param_1,puVar2,&local_5c,iVar3 != 0,param_2)" ( identifier , identifier , (pointer_expression "&local_5c" & identifier) , (binary_expression "iVar3 != 0" identifier != number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }" { (expression_statement "CloseBlob(puVar2);" (call_expression "CloseBlob(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;) (if_statement "if (local_7c == 0) goto LAB_001ea000;" if (parenthesized_expression "(local_7c == 0)" ( (binary_expression "local_7c == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ea000;" goto statement_identifier ;)) (expression_statement "uVar9 = GetFirstImageInList(puVar2);" (assignment_expression "uVar9 = GetFirstImageInList(puVar2)" identifier = (call_expression "GetFirstImageInList(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) (if_statement "if (local_7c == local_74) break;" if (parenthesized_expression "(local_7c == local_74)" ( (binary_expression "local_7c == local_74" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = EOFBlob(puVar2);" (assignment_expression "iVar4 = EOFBlob(puVar2)" identifier = (call_expression "EOFBlob(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }" { (expression_statement "ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0)" ( identifier , (string_literal ""coders/dds.c"" " string_content ") , (string_literal ""ReadDDSImage"" " string_content ") , number_literal , number_literal , (string_literal ""UnexpectedEndOfFile"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) (goto_statement "goto LAB_001e9a48;" goto statement_identifier ;) })) (expression_statement "AcquireNextImage(param_1,puVar2,param_2);" (call_expression "AcquireNextImage(param_1,puVar2,param_2)" identifier (argument_list "(param_1,puVar2,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = GetNextImageInList(puVar2);" (assignment_expression "iVar4 = GetNextImageInList(puVar2)" identifier = (call_expression "GetNextImageInList(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_001ea000;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ea000;" goto statement_identifier ;)) (expression_statement "puVar2 = (undefined4 *)SyncNextImageInList(puVar2);" (assignment_expression "puVar2 = (undefined4 *)SyncNextImageInList(puVar2)" identifier = (cast_expression "(undefined4 *)SyncNextImageInList(puVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "SyncNextImageInList(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))))) ;) })) (expression_statement "CloseBlob(puVar2);" (call_expression "CloseBlob(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;) (expression_statement "uVar9 = GetFirstImageInList(puVar2);" (assignment_expression "uVar9 = GetFirstImageInList(puVar2)" identifier = (call_expression "GetFirstImageInList(puVar2)" identifier (argument_list "(puVar2)" ( identifier )))) ;) (goto_statement "goto LAB_001e9a5b;" goto statement_identifier ;) })) (expression_statement "pcVar11 = "ListLengthExceedsLimit";" (assignment_expression "pcVar11 = "ListLengthExceedsLimit"" identifier = (string_literal ""ListLengthExceedsLimit"" " string_content ")) ;) (expression_statement "uVar10 = 400;" (assignment_expression "uVar10 = 400" identifier = number_literal) ;) (expression_statement "uVar9 = 0x742;" (assignment_expression "uVar9 = 0x742" identifier = number_literal) ;) (goto_statement "goto LAB_001e9a2a;" goto statement_identifier ;) })) }) (else_clause "else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" else (compound_statement "{\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" { (expression_statement "uVar5 = local_40 >> 10 & 1;" (assignment_expression "uVar5 = local_40 >> 10 & 1" identifier = (binary_expression "local_40 >> 10 & 1" (binary_expression "local_40 >> 10" identifier >> number_literal) & number_literal)) ;) (if_statement "if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }" if (parenthesized_expression "((local_40 & 0x800) != 0)" ( (binary_expression "(local_40 & 0x800) != 0" (parenthesized_expression "(local_40 & 0x800)" ( (binary_expression "local_40 & 0x800" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar5 = uVar5 + 1;\n        }" { (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);" (assignment_expression "local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0)" identifier = (binary_expression "(((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0)" (parenthesized_expression "(((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3)" ( (binary_expression "((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3" (parenthesized_expression "((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0))" ( (binary_expression "(uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)" (parenthesized_expression "(uVar5 - ((local_40 & 0x1000) == 0))" ( (binary_expression "uVar5 - ((local_40 & 0x1000) == 0)" identifier - (parenthesized_expression "((local_40 & 0x1000) == 0)" ( (binary_expression "(local_40 & 0x1000) == 0" (parenthesized_expression "(local_40 & 0x1000)" ( (binary_expression "local_40 & 0x1000" identifier & number_literal) )) == number_literal) ))) )) - (call_expression "(uint)((local_40 & 0x2000) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((local_40 & 0x2000) == 0)" ( (binary_expression "(local_40 & 0x2000) == 0" (parenthesized_expression "(local_40 & 0x2000)" ( (binary_expression "local_40 & 0x2000" identifier & number_literal) )) == number_literal) )))) )) + number_literal) )) - (call_expression "(uint)((local_40 & 0x4000) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((local_40 & 0x4000) == 0)" ( (binary_expression "(local_40 & 0x4000) == 0" (parenthesized_expression "(local_40 & 0x4000)" ( (binary_expression "local_40 & 0x4000" identifier & number_literal) )) == number_literal) ))))) ;) (if_statement "if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }" if (parenthesized_expression "((local_40 & 0x8000) == 0)" ( (binary_expression "(local_40 & 0x8000) == 0" (parenthesized_expression "(local_40 & 0x8000)" ( (binary_expression "local_40 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (bVar1) goto LAB_001e9da7;\n        }" { (if_statement "if (bVar1) goto LAB_001e9da7;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_001e9da7;" goto statement_identifier ;)) }) (else_clause "else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }" else (compound_statement "{\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }" { (if_statement "if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }" if (parenthesized_expression "(!bVar6 || !bVar7)" ( (binary_expression "!bVar6 || !bVar7" (unary_expression "!bVar6" ! identifier) || (unary_expression "!bVar7" ! identifier)) )) (compound_statement "{\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }" { (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_001e9c3f;" goto statement_identifier ;) })) (labeled_statement "LAB_001e9da7:\n          local_74 = local_4c;" statement_identifier : (expression_statement "local_74 = local_4c;" (assignment_expression "local_74 = local_4c" identifier = identifier) ;)) }))) (if_statement "if (local_74 != 0) goto LAB_001e9c3f;" if (parenthesized_expression "(local_74 != 0)" ( (binary_expression "local_74 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001e9c3f;" goto statement_identifier ;)) })))) (expression_statement "pcVar11 = "ImproperImageHeader";" (assignment_expression "pcVar11 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar9 = 0x73f;" (assignment_expression "uVar9 = 0x73f" identifier = number_literal) ;) }))) }) (else_clause "else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }" else (compound_statement "{\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }" { (labeled_statement "LAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";" statement_identifier : (expression_statement "pcVar11 = "ImproperImageHeader";" (assignment_expression "pcVar11 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;)) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar9 = 0x6dd;" (assignment_expression "uVar9 = 0x6dd" identifier = number_literal) ;) }))) (labeled_statement "LAB_001e9a2a:\n  ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);" statement_identifier : (expression_statement "ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);" (call_expression "ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0)" ( identifier , (string_literal ""coders/dds.c"" " string_content ") , (string_literal ""ReadDDSImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;)) (if_statement "if (puVar2 != (undefined4 *)0x0) {\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }" if (parenthesized_expression "(puVar2 != (undefined4 *)0x0)" ( (binary_expression "puVar2 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }" { (labeled_statement "LAB_001e9a48:\n    CloseBlob(puVar2);" statement_identifier : (expression_statement "CloseBlob(puVar2);" (call_expression "CloseBlob(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;)) (expression_statement "DestroyImageList(puVar2);" (call_expression "DestroyImageList(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;) })) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001e9a5b:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar9;\n  }" { (return_statement "return uVar9;" return identifier ;) }))) (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (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 ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == 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 )))) ;) (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 (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (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 (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 )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT && IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement 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 IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , (binary_expression IDENT != LIT) , 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 == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (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 , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) & LIT)) ;) (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 IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )))) )) + LIT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })))) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (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) ))) ;)) (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) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "undefined4 FUN_001e9960(int param_1,int param_2)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int in_GS_OFFSET;\n  bool bVar6;\n  bool bVar7;\n  undefined8 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint local_7c;\n  uint local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  code *local_68;\n  uint local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  uint local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1e9969;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }\n  puVar2 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar3 = OpenBlob(param_1,puVar2,2,param_2);\n  if (iVar3 == 0) {\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }\n  SeekBlob(puVar2,4,0,0);\n  iVar3 = ReadBlobLSBLong(puVar2);\n  if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }\nLAB_001e9a2a:\n  ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);\n  if (puVar2 != (undefined4 *)0x0) {\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }\n  uVar9 = 0;\nLAB_001e9a5b:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }\n                    \n  FUN_0029eab0();\n}" (type_identifier "undefined4") (function_declarator "FUN_001e9960(int param_1,int param_2)" (identifier "FUN_001e9960") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  bool bVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  int in_GS_OFFSET;\n  bool bVar6;\n  bool bVar7;\n  undefined8 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  uint local_7c;\n  uint local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  code *local_68;\n  uint local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  uint local_4c;\n  undefined4 local_48;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1e9969;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }\n  puVar2 = (undefined4 *)AcquireImage(param_1,param_2);\n  iVar3 = OpenBlob(param_1,puVar2,2,param_2);\n  if (iVar3 == 0) {\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }\n  SeekBlob(puVar2,4,0,0);\n  iVar3 = ReadBlobLSBLong(puVar2);\n  if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }\nLAB_001e9a2a:\n  ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);\n  if (puVar2 != (undefined4 *)0x0) {\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }\n  uVar9 = 0;\nLAB_001e9a5b:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }\n                    \n  FUN_0029eab0();\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar6;" (primitive_type "bool") (identifier "bVar6") (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "uint local_7c;" (type_identifier "uint") (identifier "local_7c") (; ";")) (declaration "uint local_74;" (type_identifier "uint") (identifier "local_74") (; ";")) (declaration "undefined4 local_70;" (type_identifier "undefined4") (identifier "local_70") (; ";")) (declaration "undefined4 local_6c;" (type_identifier "undefined4") (identifier "local_6c") (; ";")) (declaration "code *local_68;" (type_identifier "code") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "uint local_5c;" (type_identifier "uint") (identifier "local_5c") (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "uint local_4c;" (type_identifier "uint") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x1e9969;" (assignment_expression "uStack_14 = 0x1e9969" (identifier "uStack_14") (= "=") (number_literal "0x1e9969")) (; ";")) (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/dds.c",0x6c7,"ReadDDSImage");\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/dds.c",0x6c7,"ReadDDSImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage")" (identifier "__assert_fail") (argument_list "("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage")" (( "(") (string_literal ""image_info != (const ImageInfo *) NULL"" (" """) (string_content "image_info != (const ImageInfo *) NULL") (" """)) (, ",") (string_literal ""coders/dds.c"" (" """) (string_content "coders/dds.c") (" """)) (, ",") (number_literal "0x6c7") (, ",") (string_literal ""ReadDDSImage"" (" """) (string_content "ReadDDSImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\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/dds.c",0x6c8,"ReadDDSImage"\n                 );\n  }" ({ "{") (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 );" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 )" (identifier "__assert_fail") (argument_list "("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"\n                 )" (( "(") (string_literal ""image_info->signature == MagickCoreSignature"" (" """) (string_content "image_info->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/dds.c"" (" """) (string_content "coders/dds.c") (" """)) (, ",") (number_literal "0x6c8") (, ",") (string_literal ""ReadDDSImage"" (" """) (string_content "ReadDDSImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,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/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);\n  }" ({ "{") (expression_statement "LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0)" (identifier "LogMagickEvent") (argument_list "(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0)" (( "(") (number_literal "0x8000") (, ",") (string_literal ""coders/dds.c"" (" """) (string_content "coders/dds.c") (" """)) (, ",") (string_literal ""ReadDDSImage"" (" """) (string_content "ReadDDSImage") (" """)) (, ",") (number_literal "0x6ca") (, ",") (pointer_expression "&DAT_002b6e4e" (& "&") (identifier "DAT_002b6e4e")) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage")" (identifier "__assert_fail") (argument_list "("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage")" (( "(") (string_literal ""exception != (ExceptionInfo *) NULL"" (" """) (string_content "exception != (ExceptionInfo *) NULL") (" """)) (, ",") (string_literal ""coders/dds.c"" (" """) (string_content "coders/dds.c") (" """)) (, ",") (number_literal "0x6cc") (, ",") (string_literal ""ReadDDSImage"" (" """) (string_content "ReadDDSImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x1c) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_2 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;\n  }" ({ "{") (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")\n    ;" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")" (identifier "__assert_fail") (argument_list "("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")" (( "(") (string_literal ""exception->signature == MagickCoreSignature"" (" """) (string_content "exception->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/dds.c"" (" """) (string_content "coders/dds.c") (" """)) (, ",") (number_literal "0x6cd") (, ",") (string_literal ""ReadDDSImage"" (" """) (string_content "ReadDDSImage") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar2 = (undefined4 *)AcquireImage(param_1,param_2);" (assignment_expression "puVar2 = (undefined4 *)AcquireImage(param_1,param_2)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)AcquireImage(param_1,param_2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireImage(param_1,param_2)" (identifier "AcquireImage") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "iVar3 = OpenBlob(param_1,puVar2,2,param_2);" (assignment_expression "iVar3 = OpenBlob(param_1,puVar2,2,param_2)" (identifier "iVar3") (= "=") (call_expression "OpenBlob(param_1,puVar2,2,param_2)" (identifier "OpenBlob") (argument_list "(param_1,puVar2,2,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "puVar2") (, ",") (number_literal "2") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    DestroyImageList(puVar2);\n    uVar9 = 0;\n    goto LAB_001e9a5b;\n  }" ({ "{") (expression_statement "DestroyImageList(puVar2);" (call_expression "DestroyImageList(puVar2)" (identifier "DestroyImageList") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")"))) (; ";")) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_001e9a5b;" (goto "goto") (statement_identifier "LAB_001e9a5b") (; ";")) (} "}"))) (expression_statement "SeekBlob(puVar2,4,0,0);" (call_expression "SeekBlob(puVar2,4,0,0)" (identifier "SeekBlob") (argument_list "(puVar2,4,0,0)" (( "(") (identifier "puVar2") (, ",") (number_literal "4") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar3 = ReadBlobLSBLong(puVar2);" (assignment_expression "iVar3 = ReadBlobLSBLong(puVar2)" (identifier "iVar3") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (if_statement "if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }\n  else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }" (if "if") (parenthesized_expression "((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006))" (( "(") (binary_expression "(iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)" (parenthesized_expression "(iVar3 == 0x7c)" (( "(") (binary_expression "iVar3 == 0x7c" (identifier "iVar3") (== "==") (number_literal "0x7c")) () ")")) (&& "&&") (parenthesized_expression "(local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)" (( "(") (comma_expression "local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006" (assignment_expression "local_5c = ReadBlobLSBLong(puVar2)" (identifier "local_5c") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (, ",") (binary_expression "(local_5c & 0x1006) == 0x1006" (parenthesized_expression "(local_5c & 0x1006)" (( "(") (binary_expression "local_5c & 0x1006" (identifier "local_5c") (& "&") (number_literal "0x1006")) () ")")) (== "==") (number_literal "0x1006"))) () ")"))) () ")")) (compound_statement "{\n    local_58 = ReadBlobLSBLong(puVar2);\n    local_54 = ReadBlobLSBLong(puVar2);\n    local_50 = ReadBlobLSBLong(puVar2);\n    local_4c = ReadBlobLSBLong(puVar2);\n    local_48 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0x2c,0,1);\n    iVar3 = ReadBlobLSBLong(puVar2);\n    if (iVar3 != 0x20) goto LAB_001e9a0b;\n    local_3c = ReadBlobLSBLong(puVar2);\n    local_38 = ReadBlobLSBLong(puVar2);\n    local_34 = ReadBlobLSBLong(puVar2);\n    local_30 = ReadBlobLSBLong(puVar2);\n    local_2c = ReadBlobLSBLong(puVar2);\n    local_28 = ReadBlobLSBLong(puVar2);\n    local_24 = ReadBlobLSBLong(puVar2);\n    local_44 = ReadBlobLSBLong(puVar2);\n    local_40 = ReadBlobLSBLong(puVar2);\n    SeekBlob(puVar2,0xc,0,1);\n    uVar5 = local_40 & 0x200;\n    bVar6 = (local_40 & 0x200000) != 0;\n    bVar7 = local_4c != 0;\n    bVar1 = bVar6 && bVar7;\n    SeekBlob(puVar2,0x80,0,0);\n    if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }\n  }" ({ "{") (expression_statement "local_58 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_58 = ReadBlobLSBLong(puVar2)" (identifier "local_58") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_54 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_54 = ReadBlobLSBLong(puVar2)" (identifier "local_54") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_50 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_50 = ReadBlobLSBLong(puVar2)" (identifier "local_50") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_4c = ReadBlobLSBLong(puVar2);" (assignment_expression "local_4c = ReadBlobLSBLong(puVar2)" (identifier "local_4c") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_48 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_48 = ReadBlobLSBLong(puVar2)" (identifier "local_48") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "SeekBlob(puVar2,0x2c,0,1);" (call_expression "SeekBlob(puVar2,0x2c,0,1)" (identifier "SeekBlob") (argument_list "(puVar2,0x2c,0,1)" (( "(") (identifier "puVar2") (, ",") (number_literal "0x2c") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "iVar3 = ReadBlobLSBLong(puVar2);" (assignment_expression "iVar3 = ReadBlobLSBLong(puVar2)" (identifier "iVar3") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (if_statement "if (iVar3 != 0x20) goto LAB_001e9a0b;" (if "if") (parenthesized_expression "(iVar3 != 0x20)" (( "(") (binary_expression "iVar3 != 0x20" (identifier "iVar3") (!= "!=") (number_literal "0x20")) () ")")) (goto_statement "goto LAB_001e9a0b;" (goto "goto") (statement_identifier "LAB_001e9a0b") (; ";"))) (expression_statement "local_3c = ReadBlobLSBLong(puVar2);" (assignment_expression "local_3c = ReadBlobLSBLong(puVar2)" (identifier "local_3c") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_38 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_38 = ReadBlobLSBLong(puVar2)" (identifier "local_38") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_34 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_34 = ReadBlobLSBLong(puVar2)" (identifier "local_34") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_30 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_30 = ReadBlobLSBLong(puVar2)" (identifier "local_30") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_2c = ReadBlobLSBLong(puVar2);" (assignment_expression "local_2c = ReadBlobLSBLong(puVar2)" (identifier "local_2c") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_28 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_28 = ReadBlobLSBLong(puVar2)" (identifier "local_28") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_24 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_24 = ReadBlobLSBLong(puVar2)" (identifier "local_24") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_44 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_44 = ReadBlobLSBLong(puVar2)" (identifier "local_44") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "local_40 = ReadBlobLSBLong(puVar2);" (assignment_expression "local_40 = ReadBlobLSBLong(puVar2)" (identifier "local_40") (= "=") (call_expression "ReadBlobLSBLong(puVar2)" (identifier "ReadBlobLSBLong") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "SeekBlob(puVar2,0xc,0,1);" (call_expression "SeekBlob(puVar2,0xc,0,1)" (identifier "SeekBlob") (argument_list "(puVar2,0xc,0,1)" (( "(") (identifier "puVar2") (, ",") (number_literal "0xc") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "uVar5 = local_40 & 0x200;" (assignment_expression "uVar5 = local_40 & 0x200" (identifier "uVar5") (= "=") (binary_expression "local_40 & 0x200" (identifier "local_40") (& "&") (number_literal "0x200"))) (; ";")) (expression_statement "bVar6 = (local_40 & 0x200000) != 0;" (assignment_expression "bVar6 = (local_40 & 0x200000) != 0" (identifier "bVar6") (= "=") (binary_expression "(local_40 & 0x200000) != 0" (parenthesized_expression "(local_40 & 0x200000)" (( "(") (binary_expression "local_40 & 0x200000" (identifier "local_40") (& "&") (number_literal "0x200000")) () ")")) (!= "!=") (number_literal "0"))) (; ";")) (expression_statement "bVar7 = local_4c != 0;" (assignment_expression "bVar7 = local_4c != 0" (identifier "bVar7") (= "=") (binary_expression "local_4c != 0" (identifier "local_4c") (!= "!=") (number_literal "0"))) (; ";")) (expression_statement "bVar1 = bVar6 && bVar7;" (assignment_expression "bVar1 = bVar6 && bVar7" (identifier "bVar1") (= "=") (binary_expression "bVar6 && bVar7" (identifier "bVar6") (&& "&&") (identifier "bVar7"))) (; ";")) (expression_statement "SeekBlob(puVar2,0x80,0,0);" (call_expression "SeekBlob(puVar2,0x80,0,0)" (identifier "SeekBlob") (argument_list "(puVar2,0x80,0,0)" (( "(") (identifier "puVar2") (, ",") (number_literal "0x80") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if ((local_3c & 0x40) == 0) {\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }\n    else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }" (if "if") (parenthesized_expression "((local_3c & 0x40) == 0)" (( "(") (binary_expression "(local_3c & 0x40) == 0" (parenthesized_expression "(local_3c & 0x40)" (( "(") (binary_expression "local_3c & 0x40" (identifier "local_3c") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }\n    }" ({ "{") (if_statement "if ((local_3c & 0x20000) == 0) {\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }\n      else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }" (if "if") (parenthesized_expression "((local_3c & 0x20000) == 0)" (( "(") (binary_expression "(local_3c & 0x20000) == 0" (parenthesized_expression "(local_3c & 0x20000)" (( "(") (binary_expression "local_3c & 0x20000" (identifier "local_3c") (& "&") (number_literal "0x20000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x729;\n      }" ({ "{") (if_statement "if ((local_3c & 4) != 0) {\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }" (if "if") (parenthesized_expression "((local_3c & 4) != 0)" (( "(") (binary_expression "(local_3c & 4) != 0" (parenthesized_expression "(local_3c & 4)" (( "(") (binary_expression "local_3c & 4" (identifier "local_3c") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }\n          goto joined_r0x001e9c17;\n        }" ({ "{") (if_statement "if (local_38 == 0x33545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }\n          else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" (if "if") (parenthesized_expression "(local_38 == 0x33545844)" (( "(") (binary_expression "local_38 == 0x33545844" (identifier "local_38") (== "==") (number_literal "0x33545844")) () ")")) (compound_statement "{\n            local_6c = 4;\n            local_68 = FUN_001ebc60;\n            local_70 = 5;\n          }" ({ "{") (expression_statement "local_6c = 4;" (assignment_expression "local_6c = 4" (identifier "local_6c") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_68 = FUN_001ebc60;" (assignment_expression "local_68 = FUN_001ebc60" (identifier "local_68") (= "=") (identifier "FUN_001ebc60")) (; ";")) (expression_statement "local_70 = 5;" (assignment_expression "local_70 = 5" (identifier "local_70") (= "=") (number_literal "5")) (; ";")) (} "}")) (else_clause "else if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" (else "else") (if_statement "if (local_38 == 0x35545844) {\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }\n          else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" (if "if") (parenthesized_expression "(local_38 == 0x35545844)" (( "(") (binary_expression "local_38 == 0x35545844" (identifier "local_38") (== "==") (number_literal "0x35545844")) () ")")) (compound_statement "{\n            local_6c = 4;\n            local_68 = FUN_001ebbc0;\n            local_70 = 6;\n          }" ({ "{") (expression_statement "local_6c = 4;" (assignment_expression "local_6c = 4" (identifier "local_6c") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_68 = FUN_001ebbc0;" (assignment_expression "local_68 = FUN_001ebbc0" (identifier "local_68") (= "=") (identifier "FUN_001ebbc0")) (; ";")) (expression_statement "local_70 = 6;" (assignment_expression "local_70 = 6" (identifier "local_70") (= "=") (number_literal "6")) (; ";")) (} "}")) (else_clause "else {\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" (else "else") (compound_statement "{\n            if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }\n            local_68 = FUN_001ebd00;\n            local_6c = 0;\n            local_70 = 4;\n          }" ({ "{") (if_statement "if (local_38 != 0x31545844) {\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }" (if "if") (parenthesized_expression "(local_38 != 0x31545844)" (( "(") (binary_expression "local_38 != 0x31545844" (identifier "local_38") (!= "!=") (number_literal "0x31545844")) () ")")) (compound_statement "{\n              pcVar11 = "ImageTypeNotSupported";\n              uVar10 = 0x1a9;\n              uVar9 = 0x722;\n              goto LAB_001e9a2a;\n            }" ({ "{") (expression_statement "pcVar11 = "ImageTypeNotSupported";" (assignment_expression "pcVar11 = "ImageTypeNotSupported"" (identifier "pcVar11") (= "=") (string_literal ""ImageTypeNotSupported"" (" """) (string_content "ImageTypeNotSupported") (" """))) (; ";")) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" (identifier "uVar10") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar9 = 0x722;" (assignment_expression "uVar9 = 0x722" (identifier "uVar9") (= "=") (number_literal "0x722")) (; ";")) (goto_statement "goto LAB_001e9a2a;" (goto "goto") (statement_identifier "LAB_001e9a2a") (; ";")) (} "}"))) (expression_statement "local_68 = FUN_001ebd00;" (assignment_expression "local_68 = FUN_001ebd00" (identifier "local_68") (= "=") (identifier "FUN_001ebd00")) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = 4;" (assignment_expression "local_70 = 4" (identifier "local_70") (= "=") (number_literal "4")) (; ";")) (} "}")))))) (goto_statement "goto joined_r0x001e9c17;" (goto "goto") (statement_identifier "joined_r0x001e9c17") (; ";")) (} "}"))) (expression_statement "pcVar11 = "ImageTypeNotSupported";" (assignment_expression "pcVar11 = "ImageTypeNotSupported"" (identifier "pcVar11") (= "=") (string_literal ""ImageTypeNotSupported"" (" """) (string_content "ImageTypeNotSupported") (" """))) (; ";")) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" (identifier "uVar10") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar9 = 0x729;" (assignment_expression "uVar9 = 0x729" (identifier "uVar9") (= "=") (number_literal "0x729")) (; ";")) (} "}")) (else_clause "else {\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }" (else "else") (compound_statement "{\n        if ((local_3c & 1) == 0) goto LAB_001e9cf3;\n        pcVar11 = "ImageTypeNotSupported";\n        uVar10 = 0x1a9;\n        uVar9 = 0x6fe;\n      }" ({ "{") (if_statement "if ((local_3c & 1) == 0) goto LAB_001e9cf3;" (if "if") (parenthesized_expression "((local_3c & 1) == 0)" (( "(") (binary_expression "(local_3c & 1) == 0" (parenthesized_expression "(local_3c & 1)" (( "(") (binary_expression "local_3c & 1" (identifier "local_3c") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001e9cf3;" (goto "goto") (statement_identifier "LAB_001e9cf3") (; ";"))) (expression_statement "pcVar11 = "ImageTypeNotSupported";" (assignment_expression "pcVar11 = "ImageTypeNotSupported"" (identifier "pcVar11") (= "=") (string_literal ""ImageTypeNotSupported"" (" """) (string_content "ImageTypeNotSupported") (" """))) (; ";")) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" (identifier "uVar10") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar9 = 0x6fe;" (assignment_expression "uVar9 = 0x6fe" (identifier "uVar9") (= "=") (number_literal "0x6fe")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }" (else "else") (compound_statement "{\n      if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }\nLAB_001e9cf3:\n      local_68 = FUN_001eb130;\n      local_6c = 0;\n      local_70 = 0x10;\njoined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }\n      pcVar11 = "ImproperImageHeader";\n      uVar10 = 0x1a9;\n      uVar9 = 0x73f;\n    }" ({ "{") (if_statement "if ((local_3c & 1) != 0) {\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }" (if "if") (parenthesized_expression "((local_3c & 1) != 0)" (( "(") (binary_expression "(local_3c & 1) != 0" (parenthesized_expression "(local_3c & 1)" (( "(") (binary_expression "local_3c & 1" (identifier "local_3c") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_68 = FUN_001ebda0;\n        local_6c = 4;\n        local_70 = 0x10;\n        goto joined_r0x001e9c17;\n      }" ({ "{") (expression_statement "local_68 = FUN_001ebda0;" (assignment_expression "local_68 = FUN_001ebda0" (identifier "local_68") (= "=") (identifier "FUN_001ebda0")) (; ";")) (expression_statement "local_6c = 4;" (assignment_expression "local_6c = 4" (identifier "local_6c") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_70 = 0x10;" (assignment_expression "local_70 = 0x10" (identifier "local_70") (= "=") (number_literal "0x10")) (; ";")) (goto_statement "goto joined_r0x001e9c17;" (goto "goto") (statement_identifier "joined_r0x001e9c17") (; ";")) (} "}"))) (labeled_statement "LAB_001e9cf3:\n      local_68 = FUN_001eb130;" (statement_identifier "LAB_001e9cf3") (: ":") (expression_statement "local_68 = FUN_001eb130;" (assignment_expression "local_68 = FUN_001eb130" (identifier "local_68") (= "=") (identifier "FUN_001eb130")) (; ";"))) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = 0x10;" (assignment_expression "local_70 = 0x10" (identifier "local_70") (= "=") (number_literal "0x10")) (; ";")) (labeled_statement "joined_r0x001e9c17:\n      if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" (statement_identifier "joined_r0x001e9c17") (: ":") (if_statement "if (uVar5 == 0) {\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }\n      else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" (if "if") (parenthesized_expression "(uVar5 == 0)" (( "(") (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (bVar1) goto LAB_001e9da7;\n        local_74 = 1;\nLAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);\n        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }\n      }" ({ "{") (if_statement "if (bVar1) goto LAB_001e9da7;" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (goto_statement "goto LAB_001e9da7;" (goto "goto") (statement_identifier "LAB_001e9da7") (; ";"))) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" (identifier "local_74") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_001e9c3f:\n        uVar8 = GetBlobSize(puVar2);" (statement_identifier "LAB_001e9c3f") (: ":") (expression_statement "uVar8 = GetBlobSize(puVar2);" (assignment_expression "uVar8 = GetBlobSize(puVar2)" (identifier "uVar8") (= "=") (call_expression "GetBlobSize(puVar2)" (identifier "GetBlobSize") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";"))) (if_statement "if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8))" (( "(") (binary_expression "((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)" (parenthesized_expression "((int)((ulonglong)uVar8 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar8 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar8 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar8 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar8 >> 0x20" (cast_expression "(ulonglong)uVar8" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar8")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_74 <= (uint)uVar8)" (( "(") (binary_expression "local_74 <= (uint)uVar8" (identifier "local_74") (<= "<=") (cast_expression "(uint)uVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar8"))) () ")"))) () ")")) (compound_statement "{\n          iVar3 = AcquireMagickResource(0xb,local_74,0);\n          if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }\n          pcVar11 = "ListLengthExceedsLimit";\n          uVar10 = 400;\n          uVar9 = 0x742;\n          goto LAB_001e9a2a;\n        }" ({ "{") (expression_statement "iVar3 = AcquireMagickResource(0xb,local_74,0);" (assignment_expression "iVar3 = AcquireMagickResource(0xb,local_74,0)" (identifier "iVar3") (= "=") (call_expression "AcquireMagickResource(0xb,local_74,0)" (identifier "AcquireMagickResource") (argument_list "(0xb,local_74,0)" (( "(") (number_literal "0xb") (, ",") (identifier "local_74") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");\n            iVar3 = IsStringFalse(uVar9);\n            local_7c = 0;\n            while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }\n            CloseBlob(puVar2);\n            uVar9 = GetFirstImageInList(puVar2);\n            goto LAB_001e9a5b;\n          }" ({ "{") (expression_statement "uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");" (assignment_expression "uVar9 = GetImageOption(param_1,"dds:skip-mipmaps")" (identifier "uVar9") (= "=") (call_expression "GetImageOption(param_1,"dds:skip-mipmaps")" (identifier "GetImageOption") (argument_list "(param_1,"dds:skip-mipmaps")" (( "(") (identifier "param_1") (, ",") (string_literal ""dds:skip-mipmaps"" (" """) (string_content "dds:skip-mipmaps") (" """)) () ")")))) (; ";")) (expression_statement "iVar3 = IsStringFalse(uVar9);" (assignment_expression "iVar3 = IsStringFalse(uVar9)" (identifier "iVar3") (= "=") (call_expression "IsStringFalse(uVar9)" (identifier "IsStringFalse") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";")) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" (identifier "local_7c") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              puVar2[0x8d] = 1;\n              puVar2[8] = 8;\n              iVar4 = *(int *)(param_1 + 0x1bc);\n              puVar2[0xa5] = local_6c;\n              puVar2[7] = local_58;\n              puVar2[2] = local_70;\n              *puVar2 = 1;\n              puVar2[6] = local_54;\n              if (iVar4 != 0) break;\n              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);\n              if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              SetImageBackgroundColor(puVar2,param_2);\n              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);\n              if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }\n              local_7c = local_7c + 1;\n              if (local_7c == local_74) break;\n              iVar4 = EOFBlob(puVar2);\n              if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }\n              AcquireNextImage(param_1,puVar2,param_2);\n              iVar4 = GetNextImageInList(puVar2);\n              if (iVar4 == 0) goto LAB_001ea000;\n              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);\n            }" ({ "{") (expression_statement "puVar2[0x8d] = 1;" (assignment_expression "puVar2[0x8d] = 1" (subscript_expression "puVar2[0x8d]" (identifier "puVar2") ([ "[") (number_literal "0x8d") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar2[8] = 8;" (assignment_expression "puVar2[8] = 8" (subscript_expression "puVar2[8]" (identifier "puVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "8")) (; ";")) (expression_statement "iVar4 = *(int *)(param_1 + 0x1bc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x1bc)" (identifier "iVar4") (= "=") (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")) () ")"))))) (; ";")) (expression_statement "puVar2[0xa5] = local_6c;" (assignment_expression "puVar2[0xa5] = local_6c" (subscript_expression "puVar2[0xa5]" (identifier "puVar2") ([ "[") (number_literal "0xa5") (] "]")) (= "=") (identifier "local_6c")) (; ";")) (expression_statement "puVar2[7] = local_58;" (assignment_expression "puVar2[7] = local_58" (subscript_expression "puVar2[7]" (identifier "puVar2") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "local_58")) (; ";")) (expression_statement "puVar2[2] = local_70;" (assignment_expression "puVar2[2] = local_70" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_70")) (; ";")) (expression_statement "*puVar2 = 1;" (assignment_expression "*puVar2 = 1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar2[6] = local_54;" (assignment_expression "puVar2[6] = local_54" (subscript_expression "puVar2[6]" (identifier "puVar2") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "local_54")) (; ";")) (if_statement "if (iVar4 != 0) break;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);" (assignment_expression "iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2)" (identifier "iVar4") (= "=") (call_expression "SetImageExtent(puVar2,local_54,local_58,param_2)" (identifier "SetImageExtent") (argument_list "(puVar2,local_54,local_58,param_2)" (( "(") (identifier "puVar2") (, ",") (identifier "local_54") (, ",") (identifier "local_58") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);\n                goto LAB_001e9a5b;\n              }" ({ "{") (labeled_statement "LAB_001ea000:\n                uVar9 = DestroyImageList(puVar2);" (statement_identifier "LAB_001ea000") (: ":") (expression_statement "uVar9 = DestroyImageList(puVar2);" (assignment_expression "uVar9 = DestroyImageList(puVar2)" (identifier "uVar9") (= "=") (call_expression "DestroyImageList(puVar2)" (identifier "DestroyImageList") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";"))) (goto_statement "goto LAB_001e9a5b;" (goto "goto") (statement_identifier "LAB_001e9a5b") (; ";")) (} "}"))) (expression_statement "SetImageBackgroundColor(puVar2,param_2);" (call_expression "SetImageBackgroundColor(puVar2,param_2)" (identifier "SetImageBackgroundColor") (argument_list "(puVar2,param_2)" (( "(") (identifier "puVar2") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);" (assignment_expression "iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2)" (identifier "iVar4") (= "=") (call_expression "(*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2)" (parenthesized_expression "(*local_68)" (( "(") (pointer_expression "*local_68" (* "*") (identifier "local_68")) () ")")) (argument_list "(param_1,puVar2,&local_5c,iVar3 != 0,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "puVar2") (, ",") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                CloseBlob(puVar2);\n                if (local_7c == 0) goto LAB_001ea000;\n                uVar9 = GetFirstImageInList(puVar2);\n                goto LAB_001e9a5b;\n              }" ({ "{") (expression_statement "CloseBlob(puVar2);" (call_expression "CloseBlob(puVar2)" (identifier "CloseBlob") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")"))) (; ";")) (if_statement "if (local_7c == 0) goto LAB_001ea000;" (if "if") (parenthesized_expression "(local_7c == 0)" (( "(") (binary_expression "local_7c == 0" (identifier "local_7c") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001ea000;" (goto "goto") (statement_identifier "LAB_001ea000") (; ";"))) (expression_statement "uVar9 = GetFirstImageInList(puVar2);" (assignment_expression "uVar9 = GetFirstImageInList(puVar2)" (identifier "uVar9") (= "=") (call_expression "GetFirstImageInList(puVar2)" (identifier "GetFirstImageInList") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (goto_statement "goto LAB_001e9a5b;" (goto "goto") (statement_identifier "LAB_001e9a5b") (; ";")) (} "}"))) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" (identifier "local_7c") (= "=") (binary_expression "local_7c + 1" (identifier "local_7c") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (local_7c == local_74) break;" (if "if") (parenthesized_expression "(local_7c == local_74)" (( "(") (binary_expression "local_7c == local_74" (identifier "local_7c") (== "==") (identifier "local_74")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = EOFBlob(puVar2);" (assignment_expression "iVar4 = EOFBlob(puVar2)" (identifier "iVar4") (= "=") (call_expression "EOFBlob(puVar2)" (identifier "EOFBlob") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);\n                goto LAB_001e9a48;\n              }" ({ "{") (expression_statement "ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",\n                           "`%s\'",param_1 + 0x21f0)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/dds.c"" (" """) (string_content "coders/dds.c") (" """)) (, ",") (string_literal ""ReadDDSImage"" (" """) (string_content "ReadDDSImage") (" """)) (, ",") (number_literal "0x74e") (, ",") (number_literal "0x1a9") (, ",") (string_literal ""UnexpectedEndOfFile"" (" """) (string_content "UnexpectedEndOfFile") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";")) (goto_statement "goto LAB_001e9a48;" (goto "goto") (statement_identifier "LAB_001e9a48") (; ";")) (} "}"))) (expression_statement "AcquireNextImage(param_1,puVar2,param_2);" (call_expression "AcquireNextImage(param_1,puVar2,param_2)" (identifier "AcquireNextImage") (argument_list "(param_1,puVar2,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "puVar2") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar4 = GetNextImageInList(puVar2);" (assignment_expression "iVar4 = GetNextImageInList(puVar2)" (identifier "iVar4") (= "=") (call_expression "GetNextImageInList(puVar2)" (identifier "GetNextImageInList") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_001ea000;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001ea000;" (goto "goto") (statement_identifier "LAB_001ea000") (; ";"))) (expression_statement "puVar2 = (undefined4 *)SyncNextImageInList(puVar2);" (assignment_expression "puVar2 = (undefined4 *)SyncNextImageInList(puVar2)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)SyncNextImageInList(puVar2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "SyncNextImageInList(puVar2)" (identifier "SyncNextImageInList") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")"))))) (; ";")) (} "}"))) (expression_statement "CloseBlob(puVar2);" (call_expression "CloseBlob(puVar2)" (identifier "CloseBlob") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")"))) (; ";")) (expression_statement "uVar9 = GetFirstImageInList(puVar2);" (assignment_expression "uVar9 = GetFirstImageInList(puVar2)" (identifier "uVar9") (= "=") (call_expression "GetFirstImageInList(puVar2)" (identifier "GetFirstImageInList") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";")) (goto_statement "goto LAB_001e9a5b;" (goto "goto") (statement_identifier "LAB_001e9a5b") (; ";")) (} "}"))) (expression_statement "pcVar11 = "ListLengthExceedsLimit";" (assignment_expression "pcVar11 = "ListLengthExceedsLimit"" (identifier "pcVar11") (= "=") (string_literal ""ListLengthExceedsLimit"" (" """) (string_content "ListLengthExceedsLimit") (" """))) (; ";")) (expression_statement "uVar10 = 400;" (assignment_expression "uVar10 = 400" (identifier "uVar10") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar9 = 0x742;" (assignment_expression "uVar9 = 0x742" (identifier "uVar9") (= "=") (number_literal "0x742")) (; ";")) (goto_statement "goto LAB_001e9a2a;" (goto "goto") (statement_identifier "LAB_001e9a2a") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" (else "else") (compound_statement "{\n        uVar5 = local_40 >> 10 & 1;\n        if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }\n        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);\n        if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }\n        if (local_74 != 0) goto LAB_001e9c3f;\n      }" ({ "{") (expression_statement "uVar5 = local_40 >> 10 & 1;" (assignment_expression "uVar5 = local_40 >> 10 & 1" (identifier "uVar5") (= "=") (binary_expression "local_40 >> 10 & 1" (binary_expression "local_40 >> 10" (identifier "local_40") (>> ">>") (number_literal "10")) (& "&") (number_literal "1"))) (; ";")) (if_statement "if ((local_40 & 0x800) != 0) {\n          uVar5 = uVar5 + 1;\n        }" (if "if") (parenthesized_expression "((local_40 & 0x800) != 0)" (( "(") (binary_expression "(local_40 & 0x800) != 0" (parenthesized_expression "(local_40 & 0x800)" (( "(") (binary_expression "local_40 & 0x800" (identifier "local_40") (& "&") (number_literal "0x800")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar5 = uVar5 + 1;\n        }" ({ "{") (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" (identifier "uVar5") (= "=") (binary_expression "uVar5 + 1" (identifier "uVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0);" (assignment_expression "local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0)" (identifier "local_74") (= "=") (binary_expression "(((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -\n                   (uint)((local_40 & 0x4000) == 0)" (parenthesized_expression "(((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3)" (( "(") (binary_expression "((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3" (parenthesized_expression "((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0))" (( "(") (binary_expression "(uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)" (parenthesized_expression "(uVar5 - ((local_40 & 0x1000) == 0))" (( "(") (binary_expression "uVar5 - ((local_40 & 0x1000) == 0)" (identifier "uVar5") (- "-") (parenthesized_expression "((local_40 & 0x1000) == 0)" (( "(") (binary_expression "(local_40 & 0x1000) == 0" (parenthesized_expression "(local_40 & 0x1000)" (( "(") (binary_expression "local_40 & 0x1000" (identifier "local_40") (& "&") (number_literal "0x1000")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (- "-") (call_expression "(uint)((local_40 & 0x2000) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((local_40 & 0x2000) == 0)" (( "(") (binary_expression "(local_40 & 0x2000) == 0" (parenthesized_expression "(local_40 & 0x2000)" (( "(") (binary_expression "local_40 & 0x2000" (identifier "local_40") (& "&") (number_literal "0x2000")) () ")")) (== "==") (number_literal "0")) () ")")))) () ")")) (+ "+") (number_literal "3")) () ")")) (- "-") (call_expression "(uint)((local_40 & 0x4000) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((local_40 & 0x4000) == 0)" (( "(") (binary_expression "(local_40 & 0x4000) == 0" (parenthesized_expression "(local_40 & 0x4000)" (( "(") (binary_expression "local_40 & 0x4000" (identifier "local_40") (& "&") (number_literal "0x4000")) () ")")) (== "==") (number_literal "0")) () ")"))))) (; ";")) (if_statement "if ((local_40 & 0x8000) == 0) {\n          if (bVar1) goto LAB_001e9da7;\n        }\n        else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }" (if "if") (parenthesized_expression "((local_40 & 0x8000) == 0)" (( "(") (binary_expression "(local_40 & 0x8000) == 0" (parenthesized_expression "(local_40 & 0x8000)" (( "(") (binary_expression "local_40 & 0x8000" (identifier "local_40") (& "&") (number_literal "0x8000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (bVar1) goto LAB_001e9da7;\n        }" ({ "{") (if_statement "if (bVar1) goto LAB_001e9da7;" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (goto_statement "goto LAB_001e9da7;" (goto "goto") (statement_identifier "LAB_001e9da7") (; ";"))) (} "}")) (else_clause "else {\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }" (else "else") (compound_statement "{\n          if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }\nLAB_001e9da7:\n          local_74 = local_4c;\n        }" ({ "{") (if_statement "if (!bVar6 || !bVar7) {\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }" (if "if") (parenthesized_expression "(!bVar6 || !bVar7)" (( "(") (binary_expression "!bVar6 || !bVar7" (unary_expression "!bVar6" (! "!") (identifier "bVar6")) (|| "||") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")")) (compound_statement "{\n            local_74 = local_74 + 1;\n            goto LAB_001e9c3f;\n          }" ({ "{") (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" (identifier "local_74") (= "=") (binary_expression "local_74 + 1" (identifier "local_74") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_001e9c3f;" (goto "goto") (statement_identifier "LAB_001e9c3f") (; ";")) (} "}"))) (labeled_statement "LAB_001e9da7:\n          local_74 = local_4c;" (statement_identifier "LAB_001e9da7") (: ":") (expression_statement "local_74 = local_4c;" (assignment_expression "local_74 = local_4c" (identifier "local_74") (= "=") (identifier "local_4c")) (; ";"))) (} "}")))) (if_statement "if (local_74 != 0) goto LAB_001e9c3f;" (if "if") (parenthesized_expression "(local_74 != 0)" (( "(") (binary_expression "local_74 != 0" (identifier "local_74") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001e9c3f;" (goto "goto") (statement_identifier "LAB_001e9c3f") (; ";"))) (} "}"))))) (expression_statement "pcVar11 = "ImproperImageHeader";" (assignment_expression "pcVar11 = "ImproperImageHeader"" (identifier "pcVar11") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" (identifier "uVar10") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar9 = 0x73f;" (assignment_expression "uVar9 = 0x73f" (identifier "uVar9") (= "=") (number_literal "0x73f")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }" (else "else") (compound_statement "{\nLAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";\n    uVar10 = 0x1a9;\n    uVar9 = 0x6dd;\n  }" ({ "{") (labeled_statement "LAB_001e9a0b:\n    pcVar11 = "ImproperImageHeader";" (statement_identifier "LAB_001e9a0b") (: ":") (expression_statement "pcVar11 = "ImproperImageHeader";" (assignment_expression "pcVar11 = "ImproperImageHeader"" (identifier "pcVar11") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";"))) (expression_statement "uVar10 = 0x1a9;" (assignment_expression "uVar10 = 0x1a9" (identifier "uVar10") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar9 = 0x6dd;" (assignment_expression "uVar9 = 0x6dd" (identifier "uVar9") (= "=") (number_literal "0x6dd")) (; ";")) (} "}")))) (labeled_statement "LAB_001e9a2a:\n  ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);" (statement_identifier "LAB_001e9a2a") (: ":") (expression_statement "ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);" (call_expression "ThrowMagickException\n            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/dds.c"" (" """) (string_content "coders/dds.c") (" """)) (, ",") (string_literal ""ReadDDSImage"" (" """) (string_content "ReadDDSImage") (" """)) (, ",") (identifier "uVar9") (, ",") (identifier "uVar10") (, ",") (identifier "pcVar11") (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";"))) (if_statement "if (puVar2 != (undefined4 *)0x0) {\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }" (if "if") (parenthesized_expression "(puVar2 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar2 != (undefined4 *)0x0" (identifier "puVar2") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_001e9a48:\n    CloseBlob(puVar2);\n    DestroyImageList(puVar2);\n  }" ({ "{") (labeled_statement "LAB_001e9a48:\n    CloseBlob(puVar2);" (statement_identifier "LAB_001e9a48") (: ":") (expression_statement "CloseBlob(puVar2);" (call_expression "CloseBlob(puVar2)" (identifier "CloseBlob") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")"))) (; ";"))) (expression_statement "DestroyImageList(puVar2);" (call_expression "DestroyImageList(puVar2)" (identifier "DestroyImageList") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_001e9a5b:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }" (statement_identifier "LAB_001e9a5b") (: ":") (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar9;\n  }" (if "if") (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return uVar9;\n  }" ({ "{") (return_statement "return uVar9;" (return "return") (identifier "uVar9") (; ";")) (} "}")))) (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" (identifier "FUN_0029eab0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: 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_36;
  bool bVar2;
  type_1 *var_35;
  type_4 var_9;
  type_5 var_13;
  char *pcVar6;
  type_4 var_22;
  int var_25;
  type_1 *var_33;
  int var_1;
  bool var_14;
  bool var_15;
  type_6 var_17;
  size_t line;
  type_7 severity;
  type_5 var_27;
  type_5 var_18;
  type_8 local_70;
  type_9 local_6c;
  type_10 *local_68;
  type_11 dds_info;
  
  var_36 = *(int *)(var_1 + 0x14);
  if (var_2 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"
                 );
  }
  if (var_2->debug != var_4) {
    var_5(TraceEvent,"coders/dds.c","ReadDDSImage",0x6ca,"%s",var_2->filename);
  }
  if (var_6 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");
  }
  if (var_6->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")
    ;
  }
  var_35 = var_7(var_2,var_6);
  var_9 = var_8(var_2,var_35,ReadBinaryBlobMode,var_6);
  if (var_9 == var_4) {
    var_10(var_35);
    var_35 = (type_1 *)0x0;
    goto LAB_001e9a5b;
  }
  var_11(var_35,4,0);
  var_13 = var_12(var_35);
  if ((var_13 == 0x7c) &&
     (dds_info.flags = var_12(var_35), (dds_info.flags & 0x1006) == 0x1006)) {
    dds_info.height = var_12(var_35);
    dds_info.width = var_12(var_35);
    dds_info.pitchOrLinearSize = var_12(var_35);
    dds_info.depth = var_12(var_35);
    dds_info.mipmapcount = var_12(var_35);
    var_11(var_35,0x2c,1);
    var_13 = var_12(var_35);
    if (var_13 != 0x20) goto LAB_001e9a0b;
    dds_info.pixelformat.flags = var_12(var_35);
    dds_info.pixelformat.fourcc = var_12(var_35);
    dds_info.pixelformat.rgb_bitcount = var_12(var_35);
    dds_info.pixelformat.r_bitmask = var_12(var_35);
    dds_info.pixelformat.g_bitmask = var_12(var_35);
    dds_info.pixelformat.b_bitmask = var_12(var_35);
    dds_info.pixelformat.alpha_bitmask = var_12(var_35);
    dds_info.ddscaps1 = var_12(var_35);
    dds_info.ddscaps2 = var_12(var_35);
    var_11(var_35,0xc,1);
    var_13 = dds_info.ddscaps2 & 0x200;
    var_14 = (dds_info.ddscaps2 & 0x200000) != 0;
    var_15 = dds_info.depth != 0;
    bVar2 = var_14 && var_15;
    var_11(var_35,0x80,0);
    if ((dds_info.pixelformat.flags & 0x40) == 0) {
      if ((dds_info.pixelformat.flags & 0x20000) == 0) {
        if ((dds_info.pixelformat.flags & 4) != 0) {
          if (dds_info.pixelformat.fourcc == 0x33545844) {
            local_6c = BlendPixelTrait;
            local_68 = ReadDXT3;
            local_70 = DXT3Compression;
          }
          else if (dds_info.pixelformat.fourcc == 0x35545844) {
            local_6c = BlendPixelTrait;
            local_68 = ReadDXT5;
            local_70 = DXT5Compression;
          }
          else {
            if (dds_info.pixelformat.fourcc != 0x31545844) {
              pcVar6 = "ImageTypeNotSupported";
              severity = CorruptImageError;
              line = 0x722;
              goto LAB_001e9a2a;
            }
            local_68 = ReadDXT1;
            local_6c = UndefinedPixelTrait;
            local_70 = DXT1Compression;
          }
          goto joined_r0x001e9c17;
        }
        pcVar6 = "ImageTypeNotSupported";
        severity = CorruptImageError;
        line = 0x729;
      }
      else {
        if ((dds_info.pixelformat.flags & 1) == 0) goto LAB_001e9cf3;
        pcVar6 = "ImageTypeNotSupported";
        severity = CorruptImageError;
        line = 0x6fe;
      }
    }
    else {
      if ((dds_info.pixelformat.flags & 1) != 0) {
        local_68 = ReadUncompressedRGBA;
        local_6c = BlendPixelTrait;
        local_70 = NoCompression;
        goto joined_r0x001e9c17;
      }
LAB_001e9cf3:
      local_68 = ReadUncompressedRGB;
      local_6c = UndefinedPixelTrait;
      local_70 = NoCompression;
joined_r0x001e9c17:
      if (var_13 == 0) {
        if (bVar2) goto LAB_001e9da7;
        var_18 = 1;
LAB_001e9c3f:
        var_17 = var_16(var_35);
        if ((0xffffffff < var_17) || (var_18 <= (type_5)var_17)) {
          var_9 = var_19(ListLengthResource,(type_12)var_18);
          if (var_9 != var_4) {
            pcVar6 = var_20(var_2,"dds:skip-mipmaps");
            var_9 = var_21(pcVar6);
            var_27 = 0;
            while( true ) {
              var_35->endian = LSBEndian;
              var_35->depth = 8;
              var_22 = var_2->ping;
              var_35->alpha_trait = local_6c;
              var_35->rows = dds_info.height;
              var_35->compression = local_70;
              var_35->storage_class = DirectClass;
              var_35->columns = dds_info.width;
              if (var_22 != var_4) break;
              var_22 = var_23(var_35,dds_info.width,dds_info.height,var_6);
              if (var_22 == var_4) {
LAB_001ea000:
                var_35 = var_10(var_35);
                goto LAB_001e9a5b;
              }
              var_24(var_35,var_6);
              var_25 = (*local_68)(var_2,var_35,&dds_info,var_9 != var_4,var_6);
              if (var_25 == 0) {
                var_26(var_35);
                if (var_27 == 0) goto LAB_001ea000;
                var_35 = var_28(var_35);
                goto LAB_001e9a5b;
              }
              var_27 = var_27 + 1;
              if (var_27 == var_18) break;
              var_25 = var_29(var_35);
              if (var_25 != 0) {
                var_30
                          (var_6,"coders/dds.c","ReadDDSImage",0x74e,CorruptImageError,
                           "UnexpectedEndOfFile","`%s\'",var_2->filename);
                goto LAB_001e9a48;
              }
              var_31(var_2,var_35,var_6);
              var_33 = var_32(var_35);
              if (var_33 == (type_1 *)0x0) goto LAB_001ea000;
              var_35 = var_34(var_35);
            }
            var_26(var_35);
            var_35 = var_28(var_35);
            goto LAB_001e9a5b;
          }
          pcVar6 = "ListLengthExceedsLimit";
          severity = ErrorException;
          line = 0x742;
          goto LAB_001e9a2a;
        }
      }
      else {
        var_13 = dds_info.ddscaps2 >> 10 & 1;
        if ((dds_info.ddscaps2 & 0x800) != 0) {
          var_13 = var_13 + 1;
        }
        var_18 = (((var_13 - ((dds_info.ddscaps2 & 0x1000) == 0)) -
                    (type_5)((dds_info.ddscaps2 & 0x2000) == 0)) + 3) -
                   (type_5)((dds_info.ddscaps2 & 0x4000) == 0);
        if ((dds_info.ddscaps2 & 0x8000) == 0) {
          if (bVar2) goto LAB_001e9da7;
        }
        else {
          if (!var_14 || !var_15) {
            var_18 = var_18 + 1;
            goto LAB_001e9c3f;
          }
LAB_001e9da7:
          var_18 = dds_info.depth;
        }
        if (var_18 != 0) goto LAB_001e9c3f;
      }
      pcVar6 = "ImproperImageHeader";
      severity = CorruptImageError;
      line = 0x73f;
    }
  }
  else {
LAB_001e9a0b:
    pcVar6 = "ImproperImageHeader";
    severity = CorruptImageError;
    line = 0x6dd;
  }
LAB_001e9a2a:
  var_30
            (var_6,"coders/dds.c","ReadDDSImage",line,severity,pcVar6,"`%s\'",
             var_2->filename);
  if (var_35 != (type_1 *)0x0) {
LAB_001e9a48:
    var_26(var_35);
    var_10(var_35);
  }
  var_35 = (type_1 *)0x0;
LAB_001e9a5b:
  if (var_36 == *(int *)(var_1 + 0x14)) {
    return var_35;
  }
                    /* WARNING: Subroutine does not return */
  var_37();
}


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

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

undefined4 MASKED(int param_1,int param_2)

{
  bool bVar1;
  undefined4 *puVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  int in_GS_OFFSET;
  bool bVar6;
  bool bVar7;
  undefined8 uVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  char *pcVar11;
  uint local_7c;
  uint local_74;
  undefined4 local_70;
  undefined4 local_6c;
  code *local_68;
  uint local_5c;
  undefined4 local_58;
  undefined4 local_54;
  undefined4 local_50;
  uint local_4c;
  undefined4 local_48;
  undefined4 local_44;
  uint local_40;
  uint local_3c;
  int local_38;
  undefined4 local_34;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x1e9969;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/dds.c",0x6c7,"ReadDDSImage");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/dds.c",0x6c8,"ReadDDSImage"
                 );
  }
  if (*(int *)(param_1 + 0x31f0) != 0) {
    LogMagickEvent(0x8000,"coders/dds.c","ReadDDSImage",0x6ca,&DAT_002b6e4e,param_1 + 0x21f0);
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/dds.c",0x6cc,"ReadDDSImage");
  }
  if (*(int *)(param_2 + 0x1c) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/dds.c",0x6cd,"ReadDDSImage")
    ;
  }
  puVar2 = (undefined4 *)AcquireImage(param_1,param_2);
  iVar3 = OpenBlob(param_1,puVar2,2,param_2);
  if (iVar3 == 0) {
    DestroyImageList(puVar2);
    uVar9 = 0;
    goto LAB_001e9a5b;
  }
  SeekBlob(puVar2,4,0,0);
  iVar3 = ReadBlobLSBLong(puVar2);
  if ((iVar3 == 0x7c) && (local_5c = ReadBlobLSBLong(puVar2), (local_5c & 0x1006) == 0x1006)) {
    local_58 = ReadBlobLSBLong(puVar2);
    local_54 = ReadBlobLSBLong(puVar2);
    local_50 = ReadBlobLSBLong(puVar2);
    local_4c = ReadBlobLSBLong(puVar2);
    local_48 = ReadBlobLSBLong(puVar2);
    SeekBlob(puVar2,0x2c,0,1);
    iVar3 = ReadBlobLSBLong(puVar2);
    if (iVar3 != 0x20) goto LAB_001e9a0b;
    local_3c = ReadBlobLSBLong(puVar2);
    local_38 = ReadBlobLSBLong(puVar2);
    local_34 = ReadBlobLSBLong(puVar2);
    local_30 = ReadBlobLSBLong(puVar2);
    local_2c = ReadBlobLSBLong(puVar2);
    local_28 = ReadBlobLSBLong(puVar2);
    local_24 = ReadBlobLSBLong(puVar2);
    local_44 = ReadBlobLSBLong(puVar2);
    local_40 = ReadBlobLSBLong(puVar2);
    SeekBlob(puVar2,0xc,0,1);
    uVar5 = local_40 & 0x200;
    bVar6 = (local_40 & 0x200000) != 0;
    bVar7 = local_4c != 0;
    bVar1 = bVar6 && bVar7;
    SeekBlob(puVar2,0x80,0,0);
    if ((local_3c & 0x40) == 0) {
      if ((local_3c & 0x20000) == 0) {
        if ((local_3c & 4) != 0) {
          if (local_38 == 0x33545844) {
            local_6c = 4;
            local_68 = FUN_001ebc60;
            local_70 = 5;
          }
          else if (local_38 == 0x35545844) {
            local_6c = 4;
            local_68 = FUN_001ebbc0;
            local_70 = 6;
          }
          else {
            if (local_38 != 0x31545844) {
              pcVar11 = "ImageTypeNotSupported";
              uVar10 = 0x1a9;
              uVar9 = 0x722;
              goto LAB_001e9a2a;
            }
            local_68 = FUN_001ebd00;
            local_6c = 0;
            local_70 = 4;
          }
          goto joined_r0x001e9c17;
        }
        pcVar11 = "ImageTypeNotSupported";
        uVar10 = 0x1a9;
        uVar9 = 0x729;
      }
      else {
        if ((local_3c & 1) == 0) goto LAB_001e9cf3;
        pcVar11 = "ImageTypeNotSupported";
        uVar10 = 0x1a9;
        uVar9 = 0x6fe;
      }
    }
    else {
      if ((local_3c & 1) != 0) {
        local_68 = FUN_001ebda0;
        local_6c = 4;
        local_70 = 0x10;
        goto joined_r0x001e9c17;
      }
LAB_001e9cf3:
      local_68 = FUN_001eb130;
      local_6c = 0;
      local_70 = 0x10;
joined_r0x001e9c17:
      if (uVar5 == 0) {
        if (bVar1) goto LAB_001e9da7;
        local_74 = 1;
LAB_001e9c3f:
        uVar8 = GetBlobSize(puVar2);
        if (((int)((ulonglong)uVar8 >> 0x20) != 0) || (local_74 <= (uint)uVar8)) {
          iVar3 = AcquireMagickResource(0xb,local_74,0);
          if (iVar3 != 0) {
            uVar9 = GetImageOption(param_1,"dds:skip-mipmaps");
            iVar3 = IsStringFalse(uVar9);
            local_7c = 0;
            while( true ) {
              puVar2[0x8d] = 1;
              puVar2[8] = 8;
              iVar4 = *(int *)(param_1 + 0x1bc);
              puVar2[0xa5] = local_6c;
              puVar2[7] = local_58;
              puVar2[2] = local_70;
              *puVar2 = 1;
              puVar2[6] = local_54;
              if (iVar4 != 0) break;
              iVar4 = SetImageExtent(puVar2,local_54,local_58,param_2);
              if (iVar4 == 0) {
LAB_001ea000:
                uVar9 = DestroyImageList(puVar2);
                goto LAB_001e9a5b;
              }
              SetImageBackgroundColor(puVar2,param_2);
              iVar4 = (*local_68)(param_1,puVar2,&local_5c,iVar3 != 0,param_2);
              if (iVar4 == 0) {
                CloseBlob(puVar2);
                if (local_7c == 0) goto LAB_001ea000;
                uVar9 = GetFirstImageInList(puVar2);
                goto LAB_001e9a5b;
              }
              local_7c = local_7c + 1;
              if (local_7c == local_74) break;
              iVar4 = EOFBlob(puVar2);
              if (iVar4 != 0) {
                ThrowMagickException
                          (param_2,"coders/dds.c","ReadDDSImage",0x74e,0x1a9,"UnexpectedEndOfFile",
                           "`%s\'",param_1 + 0x21f0);
                goto LAB_001e9a48;
              }
              AcquireNextImage(param_1,puVar2,param_2);
              iVar4 = GetNextImageInList(puVar2);
              if (iVar4 == 0) goto LAB_001ea000;
              puVar2 = (undefined4 *)SyncNextImageInList(puVar2);
            }
            CloseBlob(puVar2);
            uVar9 = GetFirstImageInList(puVar2);
            goto LAB_001e9a5b;
          }
          pcVar11 = "ListLengthExceedsLimit";
          uVar10 = 400;
          uVar9 = 0x742;
          goto LAB_001e9a2a;
        }
      }
      else {
        uVar5 = local_40 >> 10 & 1;
        if ((local_40 & 0x800) != 0) {
          uVar5 = uVar5 + 1;
        }
        local_74 = (((uVar5 - ((local_40 & 0x1000) == 0)) - (uint)((local_40 & 0x2000) == 0)) + 3) -
                   (uint)((local_40 & 0x4000) == 0);
        if ((local_40 & 0x8000) == 0) {
          if (bVar1) goto LAB_001e9da7;
        }
        else {
          if (!bVar6 || !bVar7) {
            local_74 = local_74 + 1;
            goto LAB_001e9c3f;
          }
LAB_001e9da7:
          local_74 = local_4c;
        }
        if (local_74 != 0) goto LAB_001e9c3f;
      }
      pcVar11 = "ImproperImageHeader";
      uVar10 = 0x1a9;
      uVar9 = 0x73f;
    }
  }
  else {
LAB_001e9a0b:
    pcVar11 = "ImproperImageHeader";
    uVar10 = 0x1a9;
    uVar9 = 0x6dd;
  }
LAB_001e9a2a:
  ThrowMagickException
            (param_2,"coders/dds.c","ReadDDSImage",uVar9,uVar10,pcVar11,"`%s\'",param_1 + 0x21f0);
  if (puVar2 != (undefined4 *)0x0) {
LAB_001e9a48:
    CloseBlob(puVar2);
    DestroyImageList(puVar2);
  }
  uVar9 = 0;
LAB_001e9a5b:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar9;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0029eab0();
}

