
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* 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 */
/* WARNING: Enum "ComplianceType": Some values do not have unique names */

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

{
  double dVar1;
  int iVar2;
  PixelChannelMap *pPVar3;
  byte bVar4;
  float fVar5;
  uint uVar6;
  MagickBooleanType MVar7;
  size_t sVar8;
  char *pcVar9;
  size_t sVar10;
  int iVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  Quantum *pQVar15;
  Image *pIVar16;
  byte bVar17;
  int in_GS_OFFSET;
  bool bVar18;
  int local_30d4;
  int local_30c0;
  ComplianceType local_30bc;
  uint local_30a4;
  int local_30a0;
  uint local_309c;
  int local_3098;
  PixelInfo pixel;
  char buffer [4096];
  char colorspace [4096];
  char tuple [4096];
  
  iVar2 = *(int *)(in_GS_OFFSET + 0x14);
  if (image_info == (ImageInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");
  }
  if (image_info->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,
                  "WriteTXTImage");
  }
  if (image == (Image *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");
  }
  if (image->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");
  }
  if (image->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"coders/txt.c","WriteTXTImage",0x2f5,"%s",image->filename);
  }
  MVar7 = OpenBlob(image_info,image,WriteBlobMode,exception);
  if (MVar7 != MagickFalse) {
    sVar8 = GetImageListLength(image);
    local_309c = 0;
    local_3098 = 0;
    do {
      pcVar9 = CommandOptionToMnemonic(MagickColorspaceOptions,image->colorspace);
      CopyMagickString(colorspace,pcVar9,0x1000);
      LocaleLower(colorspace);
      sVar10 = GetImageQuantumDepth(image,MagickTrue);
      image->depth = sVar10;
      if (image->alpha_trait != UndefinedPixelTrait) {
        ConcatenateMagickString(colorspace,"a",0x1000);
      }
      pcVar9 = GetImageOption(image_info,"txt:compliance");
      local_30bc = NoCompliance;
      if (pcVar9 != (char *)0x0) {
        local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9);
      }
      iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");
      if (iVar11 != 0) {
        uVar12 = image->depth;
        if (uVar12 == 0) {
          dVar1 = 0.0;
        }
        else {
          if (0x40 < uVar12) {
            uVar12 = 0;
          }
          bVar17 = (byte)(uVar12 - 1);
          bVar4 = bVar17 & 0x1f;
          uVar13 = 2 << (bVar17 & 0x1f);
          uVar14 = uVar13;
          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;
          if ((uVar12 - 1 & 0x20) != 0) {
            uVar14 = 0;
            uVar6 = uVar13;
          }
          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);
          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);
          if (iVar11 < 0) {
            fVar5 = fVar5 + DAT_002df8b0;
          }
          dVar1 = (double)fVar5;
        }
        FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",
                           (double)image->columns,SUB84((double)image->rows,0),
                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),
                           (int)((ulonglong)dVar1 >> 0x20),colorspace);
        WriteBlobString(image,buffer);
      }
      GetPixelInfo(image,&pixel);
      if (0 < (int)image->rows) {
        local_30a4 = 0;
        local_30a0 = 0;
        local_30c0 = 0;
        do {
          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);
          if (pQVar15 == (Quantum *)0x0) break;
          if (0 < (int)image->columns) {
            local_30d4 = 0;
            do {
              while( true ) {
                ResetMagickMemory(&pixel,0,0x50);
                pixel.storage_class = image->storage_class;
                pixel.alpha = (MagickRealType)DAT_002df8a8;
                pixel.fuzz = image->fuzz;
                pixel.colorspace = image->colorspace;
                pixel.depth = image->depth;
                pixel.alpha_trait = image->alpha_trait;
                if (pQVar15 != (Quantum *)0x0) {
                  pPVar3 = image->channel_map;
                  pixel.red = pQVar15[pPVar3->offset];
                  pixel.green = pQVar15[pPVar3[1].offset];
                  pixel.blue = pQVar15[pPVar3[2].offset];
                  if (pPVar3[3].traits != UndefinedPixelTrait) {
                    pixel.black = pQVar15[pPVar3[3].offset];
                  }
                  if (pPVar3[4].traits != UndefinedPixelTrait) {
                    pixel.alpha = pQVar15[pPVar3[4].offset];
                    pixel.alpha_trait = BlendPixelTrait;
                  }
                  if (pPVar3[5].traits != UndefinedPixelTrait) {
                    pixel.index = pQVar15[pPVar3[5].offset];
                  }
                }
                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");
                if (iVar11 == 0) break;
                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),
                                   (int)((ulonglong)(double)local_30d4 >> 0x20),
                                   SUB84((double)local_30c0,0),
                                   (int)((ulonglong)(double)local_30c0 >> 0x20));
                WriteBlobString(image,buffer);
                CopyMagickString(tuple,"(",0x1000);
                if ((pixel.colorspace == LinearGRAYColorspace) ||
                   (pixel.colorspace == GRAYColorspace)) {
                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);
                }
                else {
                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);
                  ConcatenateMagickString(tuple,",",0x1000);
                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);
                  ConcatenateMagickString(tuple,",",0x1000);
                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);
                }
                if (pixel.colorspace == CMYKColorspace) {
                  ConcatenateMagickString(tuple,",",0x1000);
                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);
                }
                if (pixel.alpha_trait != UndefinedPixelTrait) {
                  ConcatenateMagickString(tuple,",",0x1000);
                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);
                }
                ConcatenateMagickString(tuple,")",0x1000);
                WriteBlobString(image,tuple);
                WriteBlobString(image,"  ");
                GetColorTuple(&pixel,MagickTrue,tuple);
                FormatLocaleString(buffer,0x1000,"%s",tuple);
                WriteBlobString(image,buffer);
                WriteBlobString(image,"  ");
                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);
                WriteBlobString(image,tuple);
                WriteBlobString(image,"\n");
                local_30d4 = local_30d4 + 1;
                pQVar15 = pQVar15 + image->number_channels;
                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;
              }
              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||
                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {
                GetColorTuple(&pixel,MagickFalse,tuple);
                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),
                                   (int)((ulonglong)(double)local_30d4 >> 0x20),
                                   SUB84((double)local_30c0,0),
                                   (int)((ulonglong)(double)local_30c0 >> 0x20));
                WriteBlobString(image,buffer);
                WriteBlobString(image,tuple);
                WriteBlobString(image," ");
              }
              local_30d4 = local_30d4 + 1;
              pQVar15 = pQVar15 + image->number_channels;
            } while (local_30d4 < (int)image->columns);
          }
LAB_002c12ab:
          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),
                                   (ulonglong)image->rows);
          if (MVar7 == MagickFalse) break;
          local_30c0 = local_30c0 + 1;
          bVar18 = 0xfffffffe < local_30a4;
          local_30a4 = local_30a4 + 1;
          local_30a0 = local_30a0 + (uint)bVar18;
        } while (local_30c0 < (int)image->rows);
      }
      pIVar16 = GetNextImageInList(image);
      if (pIVar16 == (Image *)0x0) goto LAB_002c143d;
      image = SyncNextImageInList(image);
      bVar18 = 0xfffffffe < local_309c;
      MVar7 = SetImageProgress(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)
      ;
      if ((MVar7 == MagickFalse) ||
         (local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,
         image_info->adjoin == MagickFalse)) goto LAB_002c143d;
    } while( true );
  }
LAB_002c144e:
  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {
    return MVar7;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
LAB_002c143d:
  CloseBlob(image);
  MVar7 = MagickTrue;
  goto LAB_002c144e;
}



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

int FUN_002c0ca0(int param_1,int param_2)

{
  double dVar1;
  int iVar2;
  byte bVar3;
  float fVar4;
  uint uVar5;
  int iVar6;
  undefined4 uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  int iVar11;
  byte bVar12;
  int in_GS_OFFSET;
  int local_30d4;
  int local_30c0;
  int local_3068;
  undefined1 local_3020 [4096];
  undefined1 local_2020 [8192];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x2c0ca9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,
                  "WriteTXTImage");
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");
  }
  if (*(int *)(param_2 + 0x3344) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");
  }
  if (*(int *)(param_2 + 0x3328) != 0) {
    LogMagickEvent();
  }
  iVar6 = OpenBlob();
  if (iVar6 != 0) {
    GetImageListLength();
    do {
      CommandOptionToMnemonic();
      CopyMagickString();
      LocaleLower();
      uVar7 = GetImageQuantumDepth();
      *(undefined4 *)(param_2 + 0x20) = uVar7;
      if (*(int *)(param_2 + 0x294) != 0) {
        ConcatenateMagickString();
      }
      iVar6 = GetImageOption();
      if (iVar6 != 0) {
        ParseCommandOption();
      }
      iVar6 = LocaleCompare();
      if (iVar6 != 0) {
        uVar8 = *(uint *)(param_2 + 0x20);
        if (uVar8 == 0) {
          dVar1 = 0.0;
        }
        else {
          if (0x40 < uVar8) {
            uVar8 = 0;
          }
          bVar12 = (byte)(uVar8 - 1);
          bVar3 = bVar12 & 0x1f;
          uVar9 = 2 << (bVar12 & 0x1f);
          uVar10 = uVar9;
          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;
          if ((uVar8 - 1 & 0x20) != 0) {
            uVar10 = 0;
            uVar5 = uVar9;
          }
          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);
          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);
          if (iVar6 < 0) {
            fVar4 = fVar4 + DAT_002df8b0;
          }
          dVar1 = (double)fVar4;
        }
        FormatLocaleString(local_3020,0x1000,
                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",
                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1
                           ,local_2020);
        WriteBlobString();
      }
      GetPixelInfo();
      if (0 < *(int *)(param_2 + 0x1c)) {
        local_30c0 = 0;
        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {
          if (0 < *(int *)(param_2 + 0x18)) {
            local_30d4 = 0;
            do {
              while( true ) {
                ResetMagickMemory();
                iVar2 = *(int *)(param_2 + 4);
                local_3068 = *(int *)(param_2 + 0x294);
                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {
                  local_3068 = 4;
                }
                iVar11 = LocaleCompare();
                if (iVar11 == 0) break;
                FormatLocaleString();
                WriteBlobString();
                CopyMagickString();
                if ((iVar2 == 0x21) || (iVar2 == 3)) {
                  ConcatenateColorComponent();
                }
                else {
                  ConcatenateColorComponent();
                  ConcatenateMagickString();
                  ConcatenateColorComponent();
                  ConcatenateMagickString();
                  ConcatenateColorComponent();
                }
                if (iVar2 == 2) {
                  ConcatenateMagickString();
                  ConcatenateColorComponent();
                }
                if (local_3068 != 0) {
                  ConcatenateMagickString();
                  ConcatenateColorComponent();
                }
                ConcatenateMagickString();
                WriteBlobString();
                WriteBlobString();
                GetColorTuple();
                FormatLocaleString();
                WriteBlobString();
                WriteBlobString();
                QueryColorname();
                WriteBlobString();
                WriteBlobString();
                local_30d4 = local_30d4 + 1;
                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;
                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;
              }
              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||
                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==
                  DAT_002df8a8)) {
                GetColorTuple();
                FormatLocaleString();
                WriteBlobString();
                WriteBlobString();
                WriteBlobString();
              }
              local_30d4 = local_30d4 + 1;
              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;
            } while (local_30d4 < *(int *)(param_2 + 0x18));
          }
LAB_002c12ab:
          iVar6 = SetImageProgress();
          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))
          break;
        }
      }
      iVar6 = GetNextImageInList();
      if (iVar6 == 0) goto LAB_002c143d;
      param_2 = SyncNextImageInList();
      iVar6 = SetImageProgress();
      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;
    } while( true );
  }
LAB_002c144e:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return iVar6;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002decd0();
LAB_002c143d:
  CloseBlob();
  iVar6 = 1;
  goto LAB_002c144e;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00039d70
ADD EBX,0x15d357
SUB ESP,0x30cc
MOV EDX,dword ptr [ESP + 0x30e8]
MOV EAX,dword ptr [ESP + 0x30e0]
MOV EDI,dword ptr [ESP + 0x30e4]
MOV dword ptr [ESP + 0x30],EDX
MOV EDX,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x30bc],EDX
XOR EDX,EDX
MOV dword ptr [ESP + 0x48],EAX
TEST EAX,EAX
JZ 0x002c14b2
CMP dword ptr [EAX + 0x31f4],0xabacadab
JNZ 0x002c1493
TEST EDI,EDI
JZ 0x002c14d1
CMP dword ptr [EDI + 0x3344],0xabacadab
JNZ 0x002c1474
MOV ESI,dword ptr [EDI + 0x3328]
TEST ESI,ESI
JZ 0x002c0d4d
LEA EAX,[EDI + 0x318]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xffed95ae]
PUSH EAX
LEA EAX,[EBX + 0xfff31334]
PUSH 0x2f5
PUSH EAX
LEA EAX,[EBX + 0xfff311d1]
PUSH EAX
PUSH 0x8000
CALL 0x000323b0
ADD ESP,0x20
PUSH dword ptr [ESP + 0x30]
PUSH 0x3
PUSH EDI
MOV ESI,dword ptr [ESP + 0x54]
PUSH ESI
CALL 0x00032230
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002c144e
SUB ESP,0xc
PUSH EDI
CALL 0x00032180
ADD ESP,0x10
MOV dword ptr [ESP + 0x54],EAX
LEA EAX,[ESI + 0x1f0]
MOV dword ptr [ESP + 0x24],EAX
LEA EAX,[ESP + 0x10bc]
MOV dword ptr [ESP + 0x4c],EAX
LEA EAX,[EBX + 0xfff31201]
MOV dword ptr [ESP + 0x50],EAX
LEA EAX,[EBX + 0xffec4617]
MOV dword ptr [ESP + 0x28],EAX
LEA EAX,[ESP + 0x6c]
MOV dword ptr [ESP + 0x14],EAX
LEA EAX,[EBX + 0xffefbdff]
MOV dword ptr [ESP + 0x40],0x0
MOV dword ptr [ESP + 0x44],0x0
MOV dword ptr [ESP + 0x34],EAX
LEA ESI,[ESI]
SUB ESP,0x8
PUSH dword ptr [EDI + 0x4]
PUSH 0x9
CALL 0x00033560
ADD ESP,0xc
PUSH 0x1000
PUSH EAX
MOV ESI,dword ptr [ESP + 0x58]
PUSH ESI
CALL 0x00030b70
MOV dword ptr [ESP],ESI
CALL 0x000335c0
POP EAX
POP EDX
PUSH 0x1
PUSH EDI
CALL 0x00032390
MOV ECX,dword ptr [EDI + 0x294]
ADD ESP,0x10
MOV dword ptr [EDI + 0x20],EAX
TEST ECX,ECX
JNZ 0x002c141d
SUB ESP,0x8
PUSH dword ptr [ESP + 0x58]
PUSH dword ptr [ESP + 0x54]
CALL 0x00032590
ADD ESP,0x10
MOV dword ptr [ESP + 0x20],0x0
TEST EAX,EAX
JZ 0x002c0e41
SUB ESP,0x4
PUSH EAX
PUSH 0x0
PUSH 0xc
CALL 0x000311a0
MOV dword ptr [ESP + 0x30],EAX
ADD ESP,0x10
SUB ESP,0x8
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x30]
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002c0f11
MOV EAX,dword ptr [EDI + 0x20]
TEST EAX,EAX
JZ 0x002c146d
CMP EAX,0x40
MOV ECX,0x40
CMOVA EAX,ECX
XOR EDX,EDX
XOR EBP,EBP
LEA ECX,[EAX + -0x1]
MOV EAX,0x2
SHLD EDX,EAX,CL
SHL EAX,CL
TEST CL,0x20
CMOVNZ EDX,EAX
CMOVNZ EAX,EBP
ADD EAX,-0x1
ADC EDX,-0x1
MOV dword ptr [ESP + 0x8],EAX
MOV dword ptr [ESP + 0xc],EDX
MOV EAX,dword ptr [ESP + 0xc]
FILD qword ptr [ESP + 0x8]
TEST EAX,EAX
JNS 0x002c0eac
FADD dword ptr [EBX + 0xffec18b0]
FSTP qword ptr [ESP + 0x58]
FLD qword ptr [ESP + 0x58]
MOV EAX,dword ptr [EDI + 0x1c]
SUB ESP,0x8
XOR EDX,EDX
PUSH dword ptr [ESP + 0x54]
SUB ESP,0x18
MOV dword ptr [ESP + 0x30],EDX
XOR EDX,EDX
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [EDI + 0x18]
FSTP qword ptr [ESP + 0x10]
FILD qword ptr [ESP + 0x2c]
FSTP qword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x30],EDX
MOV dword ptr [ESP + 0x2c],EAX
LEA EAX,[EBX + 0xfff3126c]
FILD qword ptr [ESP + 0x2c]
FSTP qword ptr [ESP]
PUSH EAX
PUSH 0x1000
LEA ESI,[ESP + 0xe8]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x28
PUSH ESI
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
SUB ESP,0x8
PUSH dword ptr [ESP + 0x1c]
PUSH EDI
CALL 0x000320a0
MOV ESI,dword ptr [EDI + 0x1c]
ADD ESP,0x10
TEST ESI,ESI
JLE 0x002c12ed
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x1c],0x0
LEA ESI,[ESI]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x38]
PUSH 0x1
PUSH dword ptr [EDI + 0x18]
PUSH dword ptr [ESP + 0x30]
PUSH 0x0
PUSH EDI
CALL 0x00030e70
ADD ESP,0x20
MOV EBP,EAX
TEST EAX,EAX
JZ 0x002c12ed
MOV ECX,dword ptr [EDI + 0x18]
TEST ECX,ECX
JLE 0x002c12ab
LEA EAX,[ESP + 0xbc]
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0x18],EAX
JMP 0x002c1022
MOV EAX,dword ptr [EDI + 0x2a8]
MOV EDX,dword ptr [EAX + 0x34]
TEST EDX,EDX
JNZ 0x002c1370
SUB ESP,0x4
LEA ESI,[ESP + 0x20c0]
PUSH ESI
PUSH 0x0
PUSH dword ptr [ESP + 0x20]
CALL 0x00032ba0
LEA EAX,[EBX + 0xfff31210]
SUB ESP,0x4
FILD dword ptr [ESP + 0x30]
FSTP qword ptr [ESP + 0x8]
FILD dword ptr [ESP + 0x1c]
FSTP qword ptr [ESP]
PUSH EAX
PUSH 0x1000
PUSH dword ptr [ESP + 0x34]
CALL 0x000334e0
ADD ESP,0x18
PUSH dword ptr [ESP + 0x20]
PUSH EDI
CALL 0x00031550
POP EAX
POP EDX
PUSH ESI
PUSH EDI
CALL 0x00031550
POP ECX
LEA EAX,[EBX + 0xffeee194]
POP ESI
PUSH EAX
PUSH EDI
CALL 0x00031550
ADD ESP,0x10
MOV EAX,dword ptr [EDI + 0x298]
ADD dword ptr [ESP + 0x8],0x1
LEA EBP,[EBP + EAX*0x8]
MOV EAX,dword ptr [ESP + 0x8]
CMP dword ptr [EDI + 0x18],EAX
JLE 0x002c12ab
SUB ESP,0x4
PUSH 0x50
PUSH 0x0
PUSH dword ptr [ESP + 0x20]
CALL 0x00032b20
MOV EAX,dword ptr [EDI]
FLD dword ptr [EBX + 0xffec18a8]
FSTP qword ptr [ESP + 0xbc]
FLD qword ptr [EDI + 0x220]
MOV dword ptr [ESP + 0x7c],EAX
MOV EAX,dword ptr [EDI + 0x4]
FSTP qword ptr [ESP + 0x88]
MOV dword ptr [ESP + 0x80],EAX
MOV EAX,dword ptr [EDI + 0x20]
MOV dword ptr [ESP + 0x90],EAX
MOV EAX,dword ptr [EDI + 0x294]
MOV dword ptr [ESP + 0x84],EAX
ADD ESP,0x10
TEST EBP,EBP
JZ 0x002c10f1
MOV EAX,dword ptr [EDI + 0x2a8]
MOV ECX,dword ptr [EAX + 0x8]
MOV EDX,dword ptr [EAX + 0x28]
FLD qword ptr [EBP + ECX*0x8]
MOV ECX,dword ptr [EAX + 0x14]
FSTP qword ptr [ESP + 0x8c]
FLD qword ptr [EBP + ECX*0x8]
MOV ECX,dword ptr [EAX + 0x20]
FSTP qword ptr [ESP + 0x94]
FLD qword ptr [EBP + ECX*0x8]
FSTP qword ptr [ESP + 0x9c]
TEST EDX,EDX
JZ 0x002c10bf
MOV ECX,dword ptr [EAX + 0x2c]
FLD qword ptr [EBP + ECX*0x8]
FSTP qword ptr [ESP + 0xa4]
MOV ESI,dword ptr [EAX + 0x34]
TEST ESI,ESI
JZ 0x002c10dc
MOV ECX,dword ptr [EAX + 0x38]
FLD qword ptr [EBP + ECX*0x8]
MOV dword ptr [ESP + 0x74],0x4
FSTP qword ptr [ESP + 0xac]
MOV ECX,dword ptr [EAX + 0x40]
TEST ECX,ECX
JZ 0x002c10f1
MOV EAX,dword ptr [EAX + 0x44]
FLD qword ptr [EBP + EAX*0x8]
FSTP qword ptr [ESP + 0xb4]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x30]
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002c0f90
SUB ESP,0x14
FILD dword ptr [ESP + 0x30]
FSTP qword ptr [ESP + 0x8]
FILD dword ptr [ESP + 0x1c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x48]
PUSH 0x1000
MOV ESI,dword ptr [ESP + 0x34]
PUSH ESI
CALL 0x000334e0
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
LEA EAX,[EBX + 0xffeede91]
ADD ESP,0xc
PUSH 0x1000
PUSH EAX
LEA ESI,[ESP + 0x20c8]
PUSH ESI
CALL 0x00030b70
MOV EAX,dword ptr [ESP + 0x80]
ADD ESP,0x10
CMP EAX,0x21
JZ 0x002c1398
CMP EAX,0x3
JZ 0x002c1398
PUSH ESI
PUSH dword ptr [ESP + 0x24]
PUSH 0x0
PUSH dword ptr [ESP + 0x20]
CALL 0x000314c0
LEA ECX,[EBX + 0xffefdaf1]
ADD ESP,0xc
PUSH 0x1000
PUSH ECX
MOV dword ptr [ESP + 0x38],ECX
PUSH ESI
CALL 0x00030a00
ADD ESP,0x10
PUSH ESI
PUSH dword ptr [ESP + 0x24]
PUSH 0x1
PUSH dword ptr [ESP + 0x20]
CALL 0x000314c0
ADD ESP,0xc
PUSH 0x1000
MOV ECX,dword ptr [ESP + 0x34]
PUSH ECX
PUSH ESI
CALL 0x00030a00
ADD ESP,0x10
PUSH ESI
PUSH dword ptr [ESP + 0x24]
PUSH 0x2
PUSH dword ptr [ESP + 0x20]
CALL 0x000314c0
ADD ESP,0x10
CMP dword ptr [ESP + 0x70],0x2
JZ 0x002c13b6
MOV ECX,dword ptr [ESP + 0x74]
TEST ECX,ECX
JNZ 0x002c13ed
LEA EAX,[EBX + 0xffeee2e3]
SUB ESP,0x4
PUSH 0x1000
PUSH EAX
PUSH ESI
CALL 0x00030a00
POP EAX
POP EDX
PUSH ESI
PUSH EDI
CALL 0x00031550
POP ECX
LEA ECX,[EBX + 0xfff326c7]
POP EAX
PUSH ECX
MOV dword ptr [ESP + 0x38],ECX
PUSH EDI
CALL 0x00031550
ADD ESP,0xc
PUSH ESI
PUSH 0x1
PUSH dword ptr [ESP + 0x20]
CALL 0x00032ba0
LEA EAX,[EBX + 0xffed95ae]
ADD ESP,0x10
PUSH ESI
PUSH EAX
PUSH 0x1000
PUSH dword ptr [ESP + 0x24]
CALL 0x000334e0
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x20]
PUSH EDI
CALL 0x00031550
POP ECX
POP EAX
MOV ECX,dword ptr [ESP + 0x34]
PUSH ECX
PUSH EDI
CALL 0x00031550
POP EAX
PUSH dword ptr [ESP + 0x3c]
PUSH ESI
PUSH 0x1
PUSH dword ptr [ESP + 0x2c]
PUSH EDI
CALL 0x00033390
ADD ESP,0x18
PUSH ESI
PUSH EDI
CALL 0x00031550
POP EAX
LEA EAX,[EBX + 0xffeea016]
POP EDX
PUSH EAX
PUSH EDI
CALL 0x00031550
MOV EAX,dword ptr [EDI + 0x298]
ADD ESP,0x10
ADD dword ptr [ESP + 0x8],0x1
LEA EBP,[EBP + EAX*0x8]
MOV EAX,dword ptr [ESP + 0x8]
CMP dword ptr [EDI + 0x18],EAX
JG 0x002c1022
MOV EAX,dword ptr [EDI + 0x1c]
SUB ESP,0x8
XOR EDX,EDX
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffeee986]
PUSH dword ptr [ESP + 0x4c]
PUSH dword ptr [ESP + 0x4c]
PUSH EAX
PUSH EDI
CALL 0x00033840
ADD ESP,0x20
TEST EAX,EAX
JZ 0x002c12ed
ADD dword ptr [ESP + 0x1c],0x1
ADD dword ptr [ESP + 0x38],0x1
MOV EAX,dword ptr [ESP + 0x1c]
ADC dword ptr [ESP + 0x3c],0x0
CMP dword ptr [EDI + 0x1c],EAX
JG 0x002c0f48
SUB ESP,0xc
PUSH EDI
CALL 0x000319e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x002c143d
SUB ESP,0xc
PUSH EDI
CALL 0x00031b80
MOV EDX,dword ptr [ESP + 0x54]
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x50]
ADD EAX,0x1
ADC EDX,0x0
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EDX
POP EDX
XOR EDX,EDX
POP ECX
MOV EAX,dword ptr [ESP + 0x5c]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffeee991]
PUSH dword ptr [ESP + 0x54]
PUSH dword ptr [ESP + 0x54]
PUSH EAX
PUSH EDI
CALL 0x00033840
ADD ESP,0x20
TEST EAX,EAX
JZ 0x002c143d
MOV EAX,dword ptr [ESP + 0x48]
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x002c143d
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x40],EAX
MOV dword ptr [ESP + 0x44],EDX
JMP 0x002c0dc8
MOV EAX,dword ptr [EAX + 0x38]
FLD dword ptr [EBX + 0xffec18a8]
FLD qword ptr [EBP + EAX*0x8]
FUCOMIP ST0,ST1
FSTP ST0
JP 0x002c1006
JNZ 0x002c1006
JMP 0x002c0fa1
PUSH ESI
PUSH dword ptr [ESP + 0x24]
PUSH 0x0
PUSH dword ptr [ESP + 0x20]
CALL 0x000314c0
ADD ESP,0x10
CMP dword ptr [ESP + 0x70],0x2
JNZ 0x002c11e3
LEA EAX,[EBX + 0xffefdaf1]
SUB ESP,0x4
PUSH 0x1000
PUSH EAX
PUSH ESI
CALL 0x00030a00
ADD ESP,0x10
PUSH ESI
PUSH dword ptr [ESP + 0x24]
PUSH 0x3
PUSH dword ptr [ESP + 0x20]
CALL 0x000314c0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x74]
TEST ECX,ECX
JZ 0x002c11ef
LEA EAX,[EBX + 0xffefdaf1]
SUB ESP,0x4
PUSH 0x1000
PUSH EAX
PUSH ESI
CALL 0x00030a00
ADD ESP,0x10
PUSH ESI
PUSH dword ptr [ESP + 0x24]
PUSH 0x4
PUSH dword ptr [ESP + 0x20]
CALL 0x000314c0
ADD ESP,0x10
JMP 0x002c11ef
LEA EAX,[EBX + 0xffefd00c]
SUB ESP,0x4
PUSH 0x1000
PUSH EAX
PUSH dword ptr [ESP + 0x58]
CALL 0x00030a00
ADD ESP,0x10
JMP 0x002c0e0e
SUB ESP,0xc
PUSH EDI
CALL 0x000311d0
ADD ESP,0x10
MOV EAX,0x1
MOV EDX,dword ptr [ESP + 0x30bc]
XOR EDX,dword ptr GS:[0x14]
JNZ 0x002c14f0
ADD ESP,0x30cc
POP EBX
POP ESI
POP EDI
POP EBP
RET
FLDZ
JMP 0x002c0eb4
LEA EAX,[EBX + 0xfff31344]
PUSH EAX
LEA EAX,[EBX + 0xfff311d1]
PUSH 0x2f3
PUSH EAX
LEA EAX,[EBX + 0xffecc4b8]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xfff31344]
PUSH EAX
LEA EAX,[EBX + 0xfff311d1]
PUSH 0x2f1
PUSH EAX
LEA EAX,[EBX + 0xffec0d48]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xfff31344]
PUSH EAX
LEA EAX,[EBX + 0xfff311d1]
PUSH 0x2f0
PUSH EAX
LEA EAX,[EBX + 0xffec0d20]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xfff31344]
PUSH EAX
LEA EAX,[EBX + 0xfff311d1]
PUSH 0x2f2
PUSH EAX
LEA EAX,[EBX + 0xffed9cf4]
PUSH EAX
CALL 0x000313d0
CALL 0x002decd0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint FUN_002c0ca0(int param_1,int param_2)\n\n{\n  double dVar1;\n  int iVar2;\n  byte bVar3;\n  float fVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  int iVar11;\n  byte bVar12;\n  int in_GS_OFFSET;\n  int local_30d4;\n  int local_30c0;\n  int local_3068;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [8192];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2c0ca9;\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/txt.c",0x2f0,"WriteTXTImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3328) != 0) {\n    LogMagickEvent();\n  }\n  iVar6 = OpenBlob();\n  if (iVar6 != 0) {\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }\nLAB_002c144e:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002decd0();\nLAB_002c143d:\n  CloseBlob();\n  iVar6 = 1;\n  goto LAB_002c144e;\n}\n\n" comment (function_definition "int FUN_002c0ca0(int param_1,int param_2)\n\n{\n  double dVar1;\n  int iVar2;\n  byte bVar3;\n  float fVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  int iVar11;\n  byte bVar12;\n  int in_GS_OFFSET;\n  int local_30d4;\n  int local_30c0;\n  int local_3068;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [8192];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2c0ca9;\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/txt.c",0x2f0,"WriteTXTImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3328) != 0) {\n    LogMagickEvent();\n  }\n  iVar6 = OpenBlob();\n  if (iVar6 != 0) {\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }\nLAB_002c144e:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002decd0();\nLAB_002c143d:\n  CloseBlob();\n  iVar6 = 1;\n  goto LAB_002c144e;\n}" primitive_type (function_declarator "FUN_002c0ca0(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  double dVar1;\n  int iVar2;\n  byte bVar3;\n  float fVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  int iVar11;\n  byte bVar12;\n  int in_GS_OFFSET;\n  int local_30d4;\n  int local_30c0;\n  int local_3068;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [8192];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2c0ca9;\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/txt.c",0x2f0,"WriteTXTImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3328) != 0) {\n    LogMagickEvent();\n  }\n  iVar6 = OpenBlob();\n  if (iVar6 != 0) {\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }\nLAB_002c144e:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002decd0();\nLAB_002c143d:\n  CloseBlob();\n  iVar6 = 1;\n  goto LAB_002c144e;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "float fVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int local_30d4;" primitive_type identifier ;) (declaration "int local_30c0;" primitive_type identifier ;) (declaration "int local_3068;" primitive_type identifier ;) (declaration "undefined1 local_3020 [4096];" type_identifier (array_declarator "local_3020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_2020 [8192];" type_identifier (array_declarator "local_2020 [8192]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2c0ca9;" (assignment_expression "uStack_14 = 0x2c0ca9" 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/txt.c",0x2f0,"WriteTXTImage");\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/txt.c",0x2f0,"WriteTXTImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\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/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\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("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");" (call_expression "__assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage")" identifier (argument_list "("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_2 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x3344) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x3344) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x3344)" * (cast_expression "(int *)(param_2 + 0x3344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x3344)" ( (binary_expression "param_2 + 0x3344" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage")" identifier (argument_list "("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_2 + 0x3328) != 0) {\n    LogMagickEvent();\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x3328) != 0)" ( (binary_expression "*(int *)(param_2 + 0x3328) != 0" (pointer_expression "*(int *)(param_2 + 0x3328)" * (cast_expression "(int *)(param_2 + 0x3328)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x3328)" ( (binary_expression "param_2 + 0x3328" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent();\n  }" { (expression_statement "LogMagickEvent();" (call_expression "LogMagickEvent()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar6 = OpenBlob();" (assignment_expression "iVar6 = OpenBlob()" identifier = (call_expression "OpenBlob()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 != 0) {\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }" { (expression_statement "GetImageListLength();" (call_expression "GetImageListLength()" identifier (argument_list "()" ( ))) ;) (do_statement "do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );" do (compound_statement "{\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    }" { (expression_statement "CommandOptionToMnemonic();" (call_expression "CommandOptionToMnemonic()" identifier (argument_list "()" ( ))) ;) (expression_statement "CopyMagickString();" (call_expression "CopyMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "LocaleLower();" (call_expression "LocaleLower()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar7 = GetImageQuantumDepth();" (assignment_expression "uVar7 = GetImageQuantumDepth()" identifier = (call_expression "GetImageQuantumDepth()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(param_2 + 0x20) = uVar7;" (assignment_expression "*(undefined4 *)(param_2 + 0x20) = uVar7" (pointer_expression "*(undefined4 *)(param_2 + 0x20)" * (cast_expression "(undefined4 *)(param_2 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }" if (parenthesized_expression "(*(int *)(param_2 + 0x294) != 0)" ( (binary_expression "*(int *)(param_2 + 0x294) != 0" (pointer_expression "*(int *)(param_2 + 0x294)" * (cast_expression "(int *)(param_2 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x294)" ( (binary_expression "param_2 + 0x294" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        ConcatenateMagickString();\n      }" { (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar6 = GetImageOption();" (assignment_expression "iVar6 = GetImageOption()" identifier = (call_expression "GetImageOption()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 != 0) {\n        ParseCommandOption();\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        ParseCommandOption();\n      }" { (expression_statement "ParseCommandOption();" (call_expression "ParseCommandOption()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar6 = LocaleCompare();" (assignment_expression "iVar6 = LocaleCompare()" identifier = (call_expression "LocaleCompare()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }" { (expression_statement "uVar8 = *(uint *)(param_2 + 0x20);" (assignment_expression "uVar8 = *(uint *)(param_2 + 0x20)" identifier = (pointer_expression "*(uint *)(param_2 + 0x20)" * (cast_expression "(uint *)(param_2 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          dVar1 = 0.0;\n        }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }" else (compound_statement "{\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }" { (if_statement "if (0x40 < uVar8) {\n            uVar8 = 0;\n          }" if (parenthesized_expression "(0x40 < uVar8)" ( (binary_expression "0x40 < uVar8" number_literal < identifier) )) (compound_statement "{\n            uVar8 = 0;\n          }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) })) (expression_statement "bVar12 = (byte)(uVar8 - 1);" (assignment_expression "bVar12 = (byte)(uVar8 - 1)" identifier = (call_expression "(byte)(uVar8 - 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar8 - 1)" ( (binary_expression "uVar8 - 1" identifier - number_literal) )))) ;) (expression_statement "bVar3 = bVar12 & 0x1f;" (assignment_expression "bVar3 = bVar12 & 0x1f" identifier = (binary_expression "bVar12 & 0x1f" identifier & number_literal)) ;) (expression_statement "uVar9 = 2 << (bVar12 & 0x1f);" (assignment_expression "uVar9 = 2 << (bVar12 & 0x1f)" identifier = (binary_expression "2 << (bVar12 & 0x1f)" number_literal << (parenthesized_expression "(bVar12 & 0x1f)" ( (binary_expression "bVar12 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar10 = uVar9;" (assignment_expression "uVar10 = uVar9" identifier = identifier) ;) (expression_statement "uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;" (assignment_expression "uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3" identifier = (binary_expression "0 << bVar3 | 2U >> 0x20 - bVar3" (binary_expression "0 << bVar3" number_literal << identifier) | (binary_expression "2U >> 0x20 - bVar3" number_literal >> (binary_expression "0x20 - bVar3" number_literal - identifier)))) ;) (if_statement "if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }" if (parenthesized_expression "((uVar8 - 1 & 0x20) != 0)" ( (binary_expression "(uVar8 - 1 & 0x20) != 0" (parenthesized_expression "(uVar8 - 1 & 0x20)" ( (binary_expression "uVar8 - 1 & 0x20" (binary_expression "uVar8 - 1" identifier - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar5 = uVar9;" (assignment_expression "uVar5 = uVar9" identifier = identifier) ;) })) (expression_statement "iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);" (assignment_expression "iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0)" identifier = (binary_expression "(uVar5 - 1) + (uint)(uVar10 != 0)" (parenthesized_expression "(uVar5 - 1)" ( (binary_expression "uVar5 - 1" identifier - number_literal) )) + (call_expression "(uint)(uVar10 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) ))))) ;) (expression_statement "fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);" (assignment_expression "fVar4 = (float)CONCAT44(iVar6,uVar10 - 1)" identifier = (cast_expression "(float)CONCAT44(iVar6,uVar10 - 1)" ( (type_descriptor "float" primitive_type) ) (call_expression "CONCAT44(iVar6,uVar10 - 1)" identifier (argument_list "(iVar6,uVar10 - 1)" ( identifier , (binary_expression "uVar10 - 1" identifier - number_literal) ))))) ;) (if_statement "if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n            fVar4 = fVar4 + DAT_002df8b0;\n          }" { (expression_statement "fVar4 = fVar4 + DAT_002df8b0;" (assignment_expression "fVar4 = fVar4 + DAT_002df8b0" identifier = (binary_expression "fVar4 + DAT_002df8b0" identifier + identifier)) ;) })) (expression_statement "dVar1 = (double)fVar4;" (assignment_expression "dVar1 = (double)fVar4" identifier = (cast_expression "(double)fVar4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);" (call_expression "FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020)" identifier (argument_list "(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020)" ( identifier , number_literal , (string_literal ""# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n"" " string_content escape_sequence ") , (cast_expression "(double)*(uint *)(param_2 + 0x18)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) , (cast_expression "(double)*(uint *)(param_2 + 0x1c)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) , identifier , identifier ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "GetPixelInfo();" (call_expression "GetPixelInfo()" identifier (argument_list "()" ( ))) ;) (if_statement "if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }" if (parenthesized_expression "(0 < *(int *)(param_2 + 0x1c))" ( (binary_expression "0 < *(int *)(param_2 + 0x1c)" number_literal < (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) ))))) )) (compound_statement "{\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }" { (expression_statement "local_30c0 = 0;" (assignment_expression "local_30c0 = 0" identifier = number_literal) ;) (while_statement "while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }" while (parenthesized_expression "(iVar6 = GetVirtualPixels(), iVar6 != 0)" ( (comma_expression "iVar6 = GetVirtualPixels(), iVar6 != 0" (assignment_expression "iVar6 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) )) (compound_statement "{\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }" { (if_statement "if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }" if (parenthesized_expression "(0 < *(int *)(param_2 + 0x18))" ( (binary_expression "0 < *(int *)(param_2 + 0x18)" number_literal < (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }" { (expression_statement "local_30d4 = 0;" (assignment_expression "local_30d4 = 0" identifier = number_literal) ;) (do_statement "do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));" do (compound_statement "{\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            }" { (while_statement "while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }" { (expression_statement "ResetMagickMemory();" (call_expression "ResetMagickMemory()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar2 = *(int *)(param_2 + 4);" (assignment_expression "iVar2 = *(int *)(param_2 + 4)" identifier = (pointer_expression "*(int *)(param_2 + 4)" * (cast_expression "(int *)(param_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_3068 = *(int *)(param_2 + 0x294);" (assignment_expression "local_3068 = *(int *)(param_2 + 0x294)" identifier = (pointer_expression "*(int *)(param_2 + 0x294)" * (cast_expression "(int *)(param_2 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x294)" ( (binary_expression "param_2 + 0x294" identifier + number_literal) ))))) ;) (if_statement "if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }" if (parenthesized_expression "((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0))" ( (binary_expression "(iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)" ( (binary_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0" (pointer_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" * (cast_expression "(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x2a8) + 0x34)" ( (binary_expression "*(int *)(param_2 + 0x2a8) + 0x34" (pointer_expression "*(int *)(param_2 + 0x2a8)" * (cast_expression "(int *)(param_2 + 0x2a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x2a8)" ( (binary_expression "param_2 + 0x2a8" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                  local_3068 = 4;\n                }" { (expression_statement "local_3068 = 4;" (assignment_expression "local_3068 = 4" identifier = number_literal) ;) })) (expression_statement "iVar11 = LocaleCompare();" (assignment_expression "iVar11 = LocaleCompare()" identifier = (call_expression "LocaleCompare()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "CopyMagickString();" (call_expression "CopyMagickString()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" if (parenthesized_expression "((iVar2 == 0x21) || (iVar2 == 3))" ( (binary_expression "(iVar2 == 0x21) || (iVar2 == 3)" (parenthesized_expression "(iVar2 == 0x21)" ( (binary_expression "iVar2 == 0x21" identifier == number_literal) )) || (parenthesized_expression "(iVar2 == 3)" ( (binary_expression "iVar2 == 3" identifier == number_literal) ))) )) (compound_statement "{\n                  ConcatenateColorComponent();\n                }" { (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" else (compound_statement "{\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" { (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" { (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" if (parenthesized_expression "(local_3068 != 0)" ( (binary_expression "local_3068 != 0" identifier != number_literal) )) (compound_statement "{\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" { (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "GetColorTuple();" (call_expression "GetColorTuple()" identifier (argument_list "()" ( ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "QueryColorname();" (call_expression "QueryColorname()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_30d4 = local_30d4 + 1;" (assignment_expression "local_30d4 = local_30d4 + 1" identifier = (binary_expression "local_30d4 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;" (assignment_expression "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8" identifier = (binary_expression "iVar6 + *(int *)(param_2 + 0x298) * 8" identifier + (binary_expression "*(int *)(param_2 + 0x298) * 8" (pointer_expression "*(int *)(param_2 + 0x298)" * (cast_expression "(int *)(param_2 + 0x298)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x298)" ( (binary_expression "param_2 + 0x298" identifier + number_literal) )))) * number_literal))) ;) (if_statement "if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;" if (parenthesized_expression "(*(int *)(param_2 + 0x18) <= local_30d4)" ( (binary_expression "*(int *)(param_2 + 0x18) <= local_30d4" (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_002c12ab;" goto statement_identifier ;)) })) (if_statement "if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }" if (parenthesized_expression "((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8))" ( (binary_expression "(*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)" (parenthesized_expression "(*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0)" ( (binary_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0" (pointer_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" * (cast_expression "(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x2a8) + 0x34)" ( (binary_expression "*(int *)(param_2 + 0x2a8) + 0x34" (pointer_expression "*(int *)(param_2 + 0x2a8)" * (cast_expression "(int *)(param_2 + 0x2a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x2a8)" ( (binary_expression "param_2 + 0x2a8" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) || (parenthesized_expression "((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)" ( (binary_expression "(float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8" (cast_expression "(float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" * (cast_expression "(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" ( (binary_expression "iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8" identifier + (binary_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8" (pointer_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x38)" * (cast_expression "(int *)(*(int *)(param_2 + 0x2a8) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x2a8) + 0x38)" ( (binary_expression "*(int *)(param_2 + 0x2a8) + 0x38" (pointer_expression "*(int *)(param_2 + 0x2a8)" * (cast_expression "(int *)(param_2 + 0x2a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x2a8)" ( (binary_expression "param_2 + 0x2a8" identifier + number_literal) )))) + number_literal) )))) * number_literal)) ))))) == identifier) ))) )) (compound_statement "{\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }" { (expression_statement "GetColorTuple();" (call_expression "GetColorTuple()" identifier (argument_list "()" ( ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_30d4 = local_30d4 + 1;" (assignment_expression "local_30d4 = local_30d4 + 1" identifier = (binary_expression "local_30d4 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;" (assignment_expression "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8" identifier = (binary_expression "iVar6 + *(int *)(param_2 + 0x298) * 8" identifier + (binary_expression "*(int *)(param_2 + 0x298) * 8" (pointer_expression "*(int *)(param_2 + 0x298)" * (cast_expression "(int *)(param_2 + 0x298)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x298)" ( (binary_expression "param_2 + 0x298" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(local_30d4 < *(int *)(param_2 + 0x18))" ( (binary_expression "local_30d4 < *(int *)(param_2 + 0x18)" identifier < (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )) ;) })) (labeled_statement "LAB_002c12ab:\n          iVar6 = SetImageProgress();" statement_identifier : (expression_statement "iVar6 = SetImageProgress();" (assignment_expression "iVar6 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;)) (if_statement "if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;" if (parenthesized_expression "((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))" ( (binary_expression "(iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0)" ( (comma_expression "local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0" (assignment_expression "local_30c0 = local_30c0 + 1" identifier = (binary_expression "local_30c0 + 1" identifier + number_literal)) , (binary_expression "*(int *)(param_2 + 0x1c) <= local_30c0" (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) )))) <= identifier)) ))) )) (break_statement "break;" break ;)) })) })) (expression_statement "iVar6 = GetNextImageInList();" (assignment_expression "iVar6 = GetNextImageInList()" identifier = (call_expression "GetNextImageInList()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 == 0) goto LAB_002c143d;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c143d;" goto statement_identifier ;)) (expression_statement "param_2 = SyncNextImageInList();" (assignment_expression "param_2 = SyncNextImageInList()" identifier = (call_expression "SyncNextImageInList()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = SetImageProgress();" (assignment_expression "iVar6 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;" if (parenthesized_expression "((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0))" ( (binary_expression "(iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" ( (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_002c143d;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_002c144e:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\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 iVar6;\n  }" { (return_statement "return iVar6;" return identifier ;) }))) comment (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002c143d:\n  CloseBlob();" statement_identifier : (expression_statement "CloseBlob();" (call_expression "CloseBlob()" identifier (argument_list "()" ( ))) ;)) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_002c144e;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\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/* WARNING: Enum "ComplianceType": Some values do not have unique names */\n\nMagickBooleanType WriteTXTImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)\n\n{\n  double dVar1;\n  int iVar2;\n  PixelChannelMap *pPVar3;\n  byte bVar4;\n  float fVar5;\n  uint uVar6;\n  MagickBooleanType MVar7;\n  size_t sVar8;\n  char *pcVar9;\n  size_t sVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  Quantum *pQVar15;\n  Image *pIVar16;\n  byte bVar17;\n  int in_GS_OFFSET;\n  bool bVar18;\n  int local_30d4;\n  int local_30c0;\n  ComplianceType local_30bc;\n  uint local_30a4;\n  int local_30a0;\n  uint local_309c;\n  int local_3098;\n  PixelInfo pixel;\n  char buffer [4096];\n  char colorspace [4096];\n  char tuple [4096];\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/txt.c","WriteTXTImage",0x2f5,"%s",image->filename);\n  }\n  MVar7 = OpenBlob(image_info,image,WriteBlobMode,exception);\n  if (MVar7 != MagickFalse) {\n    sVar8 = GetImageListLength(image);\n    local_309c = 0;\n    local_3098 = 0;\n    do {\n      pcVar9 = CommandOptionToMnemonic(MagickColorspaceOptions,image->colorspace);\n      CopyMagickString(colorspace,pcVar9,0x1000);\n      LocaleLower(colorspace);\n      sVar10 = GetImageQuantumDepth(image,MagickTrue);\n      image->depth = sVar10;\n      if (image->alpha_trait != UndefinedPixelTrait) {\n        ConcatenateMagickString(colorspace,"a",0x1000);\n      }\n      pcVar9 = GetImageOption(image_info,"txt:compliance");\n      local_30bc = NoCompliance;\n      if (pcVar9 != (char *)0x0) {\n        local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9);\n      }\n      iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n      if (iVar11 != 0) {\n        uVar12 = image->depth;\n        if (uVar12 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }\n        FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace);\n        WriteBlobString(image,buffer);\n      }\n      GetPixelInfo(image,&pixel);\n      if (0 < (int)image->rows) {\n        local_30a4 = 0;\n        local_30a0 = 0;\n        local_30c0 = 0;\n        do {\n          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);\n          if (pQVar15 == (Quantum *)0x0) break;\n          if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }\nLAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);\n          if (MVar7 == MagickFalse) break;\n          local_30c0 = local_30c0 + 1;\n          bVar18 = 0xfffffffe < local_30a4;\n          local_30a4 = local_30a4 + 1;\n          local_30a0 = local_30a0 + (uint)bVar18;\n        } while (local_30c0 < (int)image->rows);\n      }\n      pIVar16 = GetNextImageInList(image);\n      if (pIVar16 == (Image *)0x0) goto LAB_002c143d;\n      image = SyncNextImageInList(image);\n      bVar18 = 0xfffffffe < local_309c;\n      MVar7 = SetImageProgress(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)\n      ;\n      if ((MVar7 == MagickFalse) ||\n         (local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse)) goto LAB_002c143d;\n    } while( true );\n  }\nLAB_002c144e:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_002c143d:\n  CloseBlob(image);\n  MVar7 = MagickTrue;\n  goto LAB_002c144e;\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "MagickBooleanType WriteTXTImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)\n\n{\n  double dVar1;\n  int iVar2;\n  PixelChannelMap *pPVar3;\n  byte bVar4;\n  float fVar5;\n  uint uVar6;\n  MagickBooleanType MVar7;\n  size_t sVar8;\n  char *pcVar9;\n  size_t sVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  Quantum *pQVar15;\n  Image *pIVar16;\n  byte bVar17;\n  int in_GS_OFFSET;\n  bool bVar18;\n  int local_30d4;\n  int local_30c0;\n  ComplianceType local_30bc;\n  uint local_30a4;\n  int local_30a0;\n  uint local_309c;\n  int local_3098;\n  PixelInfo pixel;\n  char buffer [4096];\n  char colorspace [4096];\n  char tuple [4096];\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/txt.c","WriteTXTImage",0x2f5,"%s",image->filename);\n  }\n  MVar7 = OpenBlob(image_info,image,WriteBlobMode,exception);\n  if (MVar7 != MagickFalse) {\n    sVar8 = GetImageListLength(image);\n    local_309c = 0;\n    local_3098 = 0;\n    do {\n      pcVar9 = CommandOptionToMnemonic(MagickColorspaceOptions,image->colorspace);\n      CopyMagickString(colorspace,pcVar9,0x1000);\n      LocaleLower(colorspace);\n      sVar10 = GetImageQuantumDepth(image,MagickTrue);\n      image->depth = sVar10;\n      if (image->alpha_trait != UndefinedPixelTrait) {\n        ConcatenateMagickString(colorspace,"a",0x1000);\n      }\n      pcVar9 = GetImageOption(image_info,"txt:compliance");\n      local_30bc = NoCompliance;\n      if (pcVar9 != (char *)0x0) {\n        local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9);\n      }\n      iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n      if (iVar11 != 0) {\n        uVar12 = image->depth;\n        if (uVar12 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }\n        FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace);\n        WriteBlobString(image,buffer);\n      }\n      GetPixelInfo(image,&pixel);\n      if (0 < (int)image->rows) {\n        local_30a4 = 0;\n        local_30a0 = 0;\n        local_30c0 = 0;\n        do {\n          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);\n          if (pQVar15 == (Quantum *)0x0) break;\n          if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }\nLAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);\n          if (MVar7 == MagickFalse) break;\n          local_30c0 = local_30c0 + 1;\n          bVar18 = 0xfffffffe < local_30a4;\n          local_30a4 = local_30a4 + 1;\n          local_30a0 = local_30a0 + (uint)bVar18;\n        } while (local_30c0 < (int)image->rows);\n      }\n      pIVar16 = GetNextImageInList(image);\n      if (pIVar16 == (Image *)0x0) goto LAB_002c143d;\n      image = SyncNextImageInList(image);\n      bVar18 = 0xfffffffe < local_309c;\n      MVar7 = SetImageProgress(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)\n      ;\n      if ((MVar7 == MagickFalse) ||\n         (local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse)) goto LAB_002c143d;\n    } while( true );\n  }\nLAB_002c144e:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_002c143d:\n  CloseBlob(image);\n  MVar7 = MagickTrue;\n  goto LAB_002c144e;\n}" type_identifier (function_declarator "WriteTXTImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)" identifier (parameter_list "(ImageInfo *image_info,Image *image,ExceptionInfo *exception)" ( (parameter_declaration "ImageInfo *image_info" type_identifier (pointer_declarator "*image_info" * identifier)) , (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  int iVar2;\n  PixelChannelMap *pPVar3;\n  byte bVar4;\n  float fVar5;\n  uint uVar6;\n  MagickBooleanType MVar7;\n  size_t sVar8;\n  char *pcVar9;\n  size_t sVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  Quantum *pQVar15;\n  Image *pIVar16;\n  byte bVar17;\n  int in_GS_OFFSET;\n  bool bVar18;\n  int local_30d4;\n  int local_30c0;\n  ComplianceType local_30bc;\n  uint local_30a4;\n  int local_30a0;\n  uint local_309c;\n  int local_3098;\n  PixelInfo pixel;\n  char buffer [4096];\n  char colorspace [4096];\n  char tuple [4096];\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/txt.c","WriteTXTImage",0x2f5,"%s",image->filename);\n  }\n  MVar7 = OpenBlob(image_info,image,WriteBlobMode,exception);\n  if (MVar7 != MagickFalse) {\n    sVar8 = GetImageListLength(image);\n    local_309c = 0;\n    local_3098 = 0;\n    do {\n      pcVar9 = CommandOptionToMnemonic(MagickColorspaceOptions,image->colorspace);\n      CopyMagickString(colorspace,pcVar9,0x1000);\n      LocaleLower(colorspace);\n      sVar10 = GetImageQuantumDepth(image,MagickTrue);\n      image->depth = sVar10;\n      if (image->alpha_trait != UndefinedPixelTrait) {\n        ConcatenateMagickString(colorspace,"a",0x1000);\n      }\n      pcVar9 = GetImageOption(image_info,"txt:compliance");\n      local_30bc = NoCompliance;\n      if (pcVar9 != (char *)0x0) {\n        local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9);\n      }\n      iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n      if (iVar11 != 0) {\n        uVar12 = image->depth;\n        if (uVar12 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }\n        FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace);\n        WriteBlobString(image,buffer);\n      }\n      GetPixelInfo(image,&pixel);\n      if (0 < (int)image->rows) {\n        local_30a4 = 0;\n        local_30a0 = 0;\n        local_30c0 = 0;\n        do {\n          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);\n          if (pQVar15 == (Quantum *)0x0) break;\n          if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }\nLAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);\n          if (MVar7 == MagickFalse) break;\n          local_30c0 = local_30c0 + 1;\n          bVar18 = 0xfffffffe < local_30a4;\n          local_30a4 = local_30a4 + 1;\n          local_30a0 = local_30a0 + (uint)bVar18;\n        } while (local_30c0 < (int)image->rows);\n      }\n      pIVar16 = GetNextImageInList(image);\n      if (pIVar16 == (Image *)0x0) goto LAB_002c143d;\n      image = SyncNextImageInList(image);\n      bVar18 = 0xfffffffe < local_309c;\n      MVar7 = SetImageProgress(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)\n      ;\n      if ((MVar7 == MagickFalse) ||\n         (local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse)) goto LAB_002c143d;\n    } while( true );\n  }\nLAB_002c144e:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar7;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_002c143d:\n  CloseBlob(image);\n  MVar7 = MagickTrue;\n  goto LAB_002c144e;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "PixelChannelMap *pPVar3;" type_identifier (pointer_declarator "*pPVar3" * identifier) ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "float fVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "MagickBooleanType MVar7;" type_identifier identifier ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "Quantum *pQVar15;" type_identifier (pointer_declarator "*pQVar15" * identifier) ;) (declaration "Image *pIVar16;" type_identifier (pointer_declarator "*pIVar16" * identifier) ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "int local_30d4;" primitive_type identifier ;) (declaration "int local_30c0;" primitive_type identifier ;) (declaration "ComplianceType local_30bc;" type_identifier identifier ;) (declaration "uint local_30a4;" type_identifier identifier ;) (declaration "int local_30a0;" primitive_type identifier ;) (declaration "uint local_309c;" type_identifier identifier ;) (declaration "int local_3098;" primitive_type identifier ;) (declaration "PixelInfo pixel;" type_identifier identifier ;) (declaration "char buffer [4096];" primitive_type (array_declarator "buffer [4096]" identifier [ number_literal ]) ;) (declaration "char colorspace [4096];" primitive_type (array_declarator "colorspace [4096]" identifier [ number_literal ]) ;) (declaration "char tuple [4096];" primitive_type (array_declarator "tuple [4096]" identifier [ number_literal ]) ;) (expression_statement "iVar2 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar2 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");\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/txt.c",0x2f0,"WriteTXTImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\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/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }" if (parenthesized_expression "(image == (Image *)0x0)" ( (binary_expression "image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");" (call_expression "__assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage")" identifier (argument_list "("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }" if (parenthesized_expression "(image->signature != 0xabacadab)" ( (binary_expression "image->signature != 0xabacadab" (field_expression "image->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage")" identifier (argument_list "("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/txt.c","WriteTXTImage",0x2f5,"%s",image->filename);\n  }" if (parenthesized_expression "(image->debug != MagickFalse)" ( (binary_expression "image->debug != MagickFalse" (field_expression "image->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    LogMagickEvent(TraceEvent,"coders/txt.c","WriteTXTImage",0x2f5,"%s",image->filename);\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"coders/txt.c","WriteTXTImage",0x2f5,"%s",image->filename);" (call_expression "LogMagickEvent(TraceEvent,"coders/txt.c","WriteTXTImage",0x2f5,"%s",image->filename)" identifier (argument_list "(TraceEvent,"coders/txt.c","WriteTXTImage",0x2f5,"%s",image->filename)" ( identifier , (string_literal ""coders/txt.c"" " string_content ") , (string_literal ""WriteTXTImage"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (field_expression "image->filename" identifier -> field_identifier) ))) ;) })) (expression_statement "MVar7 = OpenBlob(image_info,image,WriteBlobMode,exception);" (assignment_expression "MVar7 = OpenBlob(image_info,image,WriteBlobMode,exception)" identifier = (call_expression "OpenBlob(image_info,image,WriteBlobMode,exception)" identifier (argument_list "(image_info,image,WriteBlobMode,exception)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (MVar7 != MagickFalse) {\n    sVar8 = GetImageListLength(image);\n    local_309c = 0;\n    local_3098 = 0;\n    do {\n      pcVar9 = CommandOptionToMnemonic(MagickColorspaceOptions,image->colorspace);\n      CopyMagickString(colorspace,pcVar9,0x1000);\n      LocaleLower(colorspace);\n      sVar10 = GetImageQuantumDepth(image,MagickTrue);\n      image->depth = sVar10;\n      if (image->alpha_trait != UndefinedPixelTrait) {\n        ConcatenateMagickString(colorspace,"a",0x1000);\n      }\n      pcVar9 = GetImageOption(image_info,"txt:compliance");\n      local_30bc = NoCompliance;\n      if (pcVar9 != (char *)0x0) {\n        local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9);\n      }\n      iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n      if (iVar11 != 0) {\n        uVar12 = image->depth;\n        if (uVar12 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }\n        FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace);\n        WriteBlobString(image,buffer);\n      }\n      GetPixelInfo(image,&pixel);\n      if (0 < (int)image->rows) {\n        local_30a4 = 0;\n        local_30a0 = 0;\n        local_30c0 = 0;\n        do {\n          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);\n          if (pQVar15 == (Quantum *)0x0) break;\n          if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }\nLAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);\n          if (MVar7 == MagickFalse) break;\n          local_30c0 = local_30c0 + 1;\n          bVar18 = 0xfffffffe < local_30a4;\n          local_30a4 = local_30a4 + 1;\n          local_30a0 = local_30a0 + (uint)bVar18;\n        } while (local_30c0 < (int)image->rows);\n      }\n      pIVar16 = GetNextImageInList(image);\n      if (pIVar16 == (Image *)0x0) goto LAB_002c143d;\n      image = SyncNextImageInList(image);\n      bVar18 = 0xfffffffe < local_309c;\n      MVar7 = SetImageProgress(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)\n      ;\n      if ((MVar7 == MagickFalse) ||\n         (local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse)) goto LAB_002c143d;\n    } while( true );\n  }" if (parenthesized_expression "(MVar7 != MagickFalse)" ( (binary_expression "MVar7 != MagickFalse" identifier != identifier) )) (compound_statement "{\n    sVar8 = GetImageListLength(image);\n    local_309c = 0;\n    local_3098 = 0;\n    do {\n      pcVar9 = CommandOptionToMnemonic(MagickColorspaceOptions,image->colorspace);\n      CopyMagickString(colorspace,pcVar9,0x1000);\n      LocaleLower(colorspace);\n      sVar10 = GetImageQuantumDepth(image,MagickTrue);\n      image->depth = sVar10;\n      if (image->alpha_trait != UndefinedPixelTrait) {\n        ConcatenateMagickString(colorspace,"a",0x1000);\n      }\n      pcVar9 = GetImageOption(image_info,"txt:compliance");\n      local_30bc = NoCompliance;\n      if (pcVar9 != (char *)0x0) {\n        local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9);\n      }\n      iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n      if (iVar11 != 0) {\n        uVar12 = image->depth;\n        if (uVar12 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }\n        FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace);\n        WriteBlobString(image,buffer);\n      }\n      GetPixelInfo(image,&pixel);\n      if (0 < (int)image->rows) {\n        local_30a4 = 0;\n        local_30a0 = 0;\n        local_30c0 = 0;\n        do {\n          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);\n          if (pQVar15 == (Quantum *)0x0) break;\n          if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }\nLAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);\n          if (MVar7 == MagickFalse) break;\n          local_30c0 = local_30c0 + 1;\n          bVar18 = 0xfffffffe < local_30a4;\n          local_30a4 = local_30a4 + 1;\n          local_30a0 = local_30a0 + (uint)bVar18;\n        } while (local_30c0 < (int)image->rows);\n      }\n      pIVar16 = GetNextImageInList(image);\n      if (pIVar16 == (Image *)0x0) goto LAB_002c143d;\n      image = SyncNextImageInList(image);\n      bVar18 = 0xfffffffe < local_309c;\n      MVar7 = SetImageProgress(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)\n      ;\n      if ((MVar7 == MagickFalse) ||\n         (local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse)) goto LAB_002c143d;\n    } while( true );\n  }" { (expression_statement "sVar8 = GetImageListLength(image);" (assignment_expression "sVar8 = GetImageListLength(image)" identifier = (call_expression "GetImageListLength(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "local_309c = 0;" (assignment_expression "local_309c = 0" identifier = number_literal) ;) (expression_statement "local_3098 = 0;" (assignment_expression "local_3098 = 0" identifier = number_literal) ;) (do_statement "do {\n      pcVar9 = CommandOptionToMnemonic(MagickColorspaceOptions,image->colorspace);\n      CopyMagickString(colorspace,pcVar9,0x1000);\n      LocaleLower(colorspace);\n      sVar10 = GetImageQuantumDepth(image,MagickTrue);\n      image->depth = sVar10;\n      if (image->alpha_trait != UndefinedPixelTrait) {\n        ConcatenateMagickString(colorspace,"a",0x1000);\n      }\n      pcVar9 = GetImageOption(image_info,"txt:compliance");\n      local_30bc = NoCompliance;\n      if (pcVar9 != (char *)0x0) {\n        local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9);\n      }\n      iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n      if (iVar11 != 0) {\n        uVar12 = image->depth;\n        if (uVar12 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }\n        FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace);\n        WriteBlobString(image,buffer);\n      }\n      GetPixelInfo(image,&pixel);\n      if (0 < (int)image->rows) {\n        local_30a4 = 0;\n        local_30a0 = 0;\n        local_30c0 = 0;\n        do {\n          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);\n          if (pQVar15 == (Quantum *)0x0) break;\n          if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }\nLAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);\n          if (MVar7 == MagickFalse) break;\n          local_30c0 = local_30c0 + 1;\n          bVar18 = 0xfffffffe < local_30a4;\n          local_30a4 = local_30a4 + 1;\n          local_30a0 = local_30a0 + (uint)bVar18;\n        } while (local_30c0 < (int)image->rows);\n      }\n      pIVar16 = GetNextImageInList(image);\n      if (pIVar16 == (Image *)0x0) goto LAB_002c143d;\n      image = SyncNextImageInList(image);\n      bVar18 = 0xfffffffe < local_309c;\n      MVar7 = SetImageProgress(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)\n      ;\n      if ((MVar7 == MagickFalse) ||\n         (local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse)) goto LAB_002c143d;\n    } while( true );" do (compound_statement "{\n      pcVar9 = CommandOptionToMnemonic(MagickColorspaceOptions,image->colorspace);\n      CopyMagickString(colorspace,pcVar9,0x1000);\n      LocaleLower(colorspace);\n      sVar10 = GetImageQuantumDepth(image,MagickTrue);\n      image->depth = sVar10;\n      if (image->alpha_trait != UndefinedPixelTrait) {\n        ConcatenateMagickString(colorspace,"a",0x1000);\n      }\n      pcVar9 = GetImageOption(image_info,"txt:compliance");\n      local_30bc = NoCompliance;\n      if (pcVar9 != (char *)0x0) {\n        local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9);\n      }\n      iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n      if (iVar11 != 0) {\n        uVar12 = image->depth;\n        if (uVar12 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }\n        FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace);\n        WriteBlobString(image,buffer);\n      }\n      GetPixelInfo(image,&pixel);\n      if (0 < (int)image->rows) {\n        local_30a4 = 0;\n        local_30a0 = 0;\n        local_30c0 = 0;\n        do {\n          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);\n          if (pQVar15 == (Quantum *)0x0) break;\n          if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }\nLAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);\n          if (MVar7 == MagickFalse) break;\n          local_30c0 = local_30c0 + 1;\n          bVar18 = 0xfffffffe < local_30a4;\n          local_30a4 = local_30a4 + 1;\n          local_30a0 = local_30a0 + (uint)bVar18;\n        } while (local_30c0 < (int)image->rows);\n      }\n      pIVar16 = GetNextImageInList(image);\n      if (pIVar16 == (Image *)0x0) goto LAB_002c143d;\n      image = SyncNextImageInList(image);\n      bVar18 = 0xfffffffe < local_309c;\n      MVar7 = SetImageProgress(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)\n      ;\n      if ((MVar7 == MagickFalse) ||\n         (local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse)) goto LAB_002c143d;\n    }" { (expression_statement "pcVar9 = CommandOptionToMnemonic(MagickColorspaceOptions,image->colorspace);" (assignment_expression "pcVar9 = CommandOptionToMnemonic(MagickColorspaceOptions,image->colorspace)" identifier = (call_expression "CommandOptionToMnemonic(MagickColorspaceOptions,image->colorspace)" identifier (argument_list "(MagickColorspaceOptions,image->colorspace)" ( identifier , (field_expression "image->colorspace" identifier -> field_identifier) )))) ;) (expression_statement "CopyMagickString(colorspace,pcVar9,0x1000);" (call_expression "CopyMagickString(colorspace,pcVar9,0x1000)" identifier (argument_list "(colorspace,pcVar9,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "LocaleLower(colorspace);" (call_expression "LocaleLower(colorspace)" identifier (argument_list "(colorspace)" ( identifier ))) ;) (expression_statement "sVar10 = GetImageQuantumDepth(image,MagickTrue);" (assignment_expression "sVar10 = GetImageQuantumDepth(image,MagickTrue)" identifier = (call_expression "GetImageQuantumDepth(image,MagickTrue)" identifier (argument_list "(image,MagickTrue)" ( identifier , identifier )))) ;) (expression_statement "image->depth = sVar10;" (assignment_expression "image->depth = sVar10" (field_expression "image->depth" identifier -> field_identifier) = identifier) ;) (if_statement "if (image->alpha_trait != UndefinedPixelTrait) {\n        ConcatenateMagickString(colorspace,"a",0x1000);\n      }" if (parenthesized_expression "(image->alpha_trait != UndefinedPixelTrait)" ( (binary_expression "image->alpha_trait != UndefinedPixelTrait" (field_expression "image->alpha_trait" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        ConcatenateMagickString(colorspace,"a",0x1000);\n      }" { (expression_statement "ConcatenateMagickString(colorspace,"a",0x1000);" (call_expression "ConcatenateMagickString(colorspace,"a",0x1000)" identifier (argument_list "(colorspace,"a",0x1000)" ( identifier , (string_literal ""a"" " string_content ") , number_literal ))) ;) })) (expression_statement "pcVar9 = GetImageOption(image_info,"txt:compliance");" (assignment_expression "pcVar9 = GetImageOption(image_info,"txt:compliance")" identifier = (call_expression "GetImageOption(image_info,"txt:compliance")" identifier (argument_list "(image_info,"txt:compliance")" ( identifier , (string_literal ""txt:compliance"" " string_content ") )))) ;) (expression_statement "local_30bc = NoCompliance;" (assignment_expression "local_30bc = NoCompliance" identifier = identifier) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n        local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9);\n      }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9);\n      }" { (expression_statement "local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9);" (assignment_expression "local_30bc = ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9)" identifier = (call_expression "ParseCommandOption(MagickComplianceOptions,MagickFalse,pcVar9)" identifier (argument_list "(MagickComplianceOptions,MagickFalse,pcVar9)" ( identifier , identifier , identifier )))) ;) })) (expression_statement "iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");" (assignment_expression "iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR")" identifier = (call_expression "LocaleCompare(image_info->magick,"SPARSE-COLOR")" identifier (argument_list "(image_info->magick,"SPARSE-COLOR")" ( (field_expression "image_info->magick" identifier -> field_identifier) , (string_literal ""SPARSE-COLOR"" " string_content ") )))) ;) (if_statement "if (iVar11 != 0) {\n        uVar12 = image->depth;\n        if (uVar12 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }\n        FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace);\n        WriteBlobString(image,buffer);\n      }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar12 = image->depth;\n        if (uVar12 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }\n        FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace);\n        WriteBlobString(image,buffer);\n      }" { (expression_statement "uVar12 = image->depth;" (assignment_expression "uVar12 = image->depth" identifier = (field_expression "image->depth" identifier -> field_identifier)) ;) (if_statement "if (uVar12 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n          dVar1 = 0.0;\n        }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }" else (compound_statement "{\n          if (0x40 < uVar12) {\n            uVar12 = 0;\n          }\n          bVar17 = (byte)(uVar12 - 1);\n          bVar4 = bVar17 & 0x1f;\n          uVar13 = 2 << (bVar17 & 0x1f);\n          uVar14 = uVar13;\n          uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;\n          if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }\n          iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);\n          fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);\n          if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar5;\n        }" { (if_statement "if (0x40 < uVar12) {\n            uVar12 = 0;\n          }" if (parenthesized_expression "(0x40 < uVar12)" ( (binary_expression "0x40 < uVar12" number_literal < identifier) )) (compound_statement "{\n            uVar12 = 0;\n          }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) })) (expression_statement "bVar17 = (byte)(uVar12 - 1);" (assignment_expression "bVar17 = (byte)(uVar12 - 1)" identifier = (call_expression "(byte)(uVar12 - 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar12 - 1)" ( (binary_expression "uVar12 - 1" identifier - number_literal) )))) ;) (expression_statement "bVar4 = bVar17 & 0x1f;" (assignment_expression "bVar4 = bVar17 & 0x1f" identifier = (binary_expression "bVar17 & 0x1f" identifier & number_literal)) ;) (expression_statement "uVar13 = 2 << (bVar17 & 0x1f);" (assignment_expression "uVar13 = 2 << (bVar17 & 0x1f)" identifier = (binary_expression "2 << (bVar17 & 0x1f)" number_literal << (parenthesized_expression "(bVar17 & 0x1f)" ( (binary_expression "bVar17 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar14 = uVar13;" (assignment_expression "uVar14 = uVar13" identifier = identifier) ;) (expression_statement "uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4;" (assignment_expression "uVar6 = 0 << bVar4 | 2U >> 0x20 - bVar4" identifier = (binary_expression "0 << bVar4 | 2U >> 0x20 - bVar4" (binary_expression "0 << bVar4" number_literal << identifier) | (binary_expression "2U >> 0x20 - bVar4" number_literal >> (binary_expression "0x20 - bVar4" number_literal - identifier)))) ;) (if_statement "if ((uVar12 - 1 & 0x20) != 0) {\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }" if (parenthesized_expression "((uVar12 - 1 & 0x20) != 0)" ( (binary_expression "(uVar12 - 1 & 0x20) != 0" (parenthesized_expression "(uVar12 - 1 & 0x20)" ( (binary_expression "uVar12 - 1 & 0x20" (binary_expression "uVar12 - 1" identifier - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar14 = 0;\n            uVar6 = uVar13;\n          }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = uVar13;" (assignment_expression "uVar6 = uVar13" identifier = identifier) ;) })) (expression_statement "iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0);" (assignment_expression "iVar11 = (uVar6 - 1) + (uint)(uVar14 != 0)" identifier = (binary_expression "(uVar6 - 1) + (uint)(uVar14 != 0)" (parenthesized_expression "(uVar6 - 1)" ( (binary_expression "uVar6 - 1" identifier - number_literal) )) + (call_expression "(uint)(uVar14 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) ))))) ;) (expression_statement "fVar5 = (float)CONCAT44(iVar11,uVar14 - 1);" (assignment_expression "fVar5 = (float)CONCAT44(iVar11,uVar14 - 1)" identifier = (cast_expression "(float)CONCAT44(iVar11,uVar14 - 1)" ( (type_descriptor "float" primitive_type) ) (call_expression "CONCAT44(iVar11,uVar14 - 1)" identifier (argument_list "(iVar11,uVar14 - 1)" ( identifier , (binary_expression "uVar14 - 1" identifier - number_literal) ))))) ;) (if_statement "if (iVar11 < 0) {\n            fVar5 = fVar5 + DAT_002df8b0;\n          }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n            fVar5 = fVar5 + DAT_002df8b0;\n          }" { (expression_statement "fVar5 = fVar5 + DAT_002df8b0;" (assignment_expression "fVar5 = fVar5 + DAT_002df8b0" identifier = (binary_expression "fVar5 + DAT_002df8b0" identifier + identifier)) ;) })) (expression_statement "dVar1 = (double)fVar5;" (assignment_expression "dVar1 = (double)fVar5" identifier = (cast_expression "(double)fVar5" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace);" (call_expression "FormatLocaleString(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace)" identifier (argument_list "(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)image->columns,SUB84((double)image->rows,0),\n                           (int)((ulonglong)(double)image->rows >> 0x20),SUB84(dVar1,0),\n                           (int)((ulonglong)dVar1 >> 0x20),colorspace)" ( identifier , number_literal , (string_literal ""# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n"" " string_content escape_sequence ") , (cast_expression "(double)image->columns" ( (type_descriptor "double" primitive_type) ) (field_expression "image->columns" identifier -> field_identifier)) , (call_expression "SUB84((double)image->rows,0)" identifier (argument_list "((double)image->rows,0)" ( (cast_expression "(double)image->rows" ( (type_descriptor "double" primitive_type) ) (field_expression "image->rows" identifier -> field_identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)image->rows >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)image->rows >> 0x20)" ( (binary_expression "(ulonglong)(double)image->rows >> 0x20" (cast_expression "(ulonglong)(double)image->rows" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)image->rows" ( (type_descriptor "double" primitive_type) ) (field_expression "image->rows" identifier -> field_identifier))) >> number_literal) ))) , (call_expression "SUB84(dVar1,0)" identifier (argument_list "(dVar1,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar1 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar1 >> 0x20)" ( (binary_expression "(ulonglong)dVar1 >> 0x20" (cast_expression "(ulonglong)dVar1" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , identifier ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) })) (expression_statement "GetPixelInfo(image,&pixel);" (call_expression "GetPixelInfo(image,&pixel)" identifier (argument_list "(image,&pixel)" ( identifier , (pointer_expression "&pixel" & identifier) ))) ;) (if_statement "if (0 < (int)image->rows) {\n        local_30a4 = 0;\n        local_30a0 = 0;\n        local_30c0 = 0;\n        do {\n          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);\n          if (pQVar15 == (Quantum *)0x0) break;\n          if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }\nLAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);\n          if (MVar7 == MagickFalse) break;\n          local_30c0 = local_30c0 + 1;\n          bVar18 = 0xfffffffe < local_30a4;\n          local_30a4 = local_30a4 + 1;\n          local_30a0 = local_30a0 + (uint)bVar18;\n        } while (local_30c0 < (int)image->rows);\n      }" if (parenthesized_expression "(0 < (int)image->rows)" ( (binary_expression "0 < (int)image->rows" number_literal < (cast_expression "(int)image->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "image->rows" identifier -> field_identifier))) )) (compound_statement "{\n        local_30a4 = 0;\n        local_30a0 = 0;\n        local_30c0 = 0;\n        do {\n          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);\n          if (pQVar15 == (Quantum *)0x0) break;\n          if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }\nLAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);\n          if (MVar7 == MagickFalse) break;\n          local_30c0 = local_30c0 + 1;\n          bVar18 = 0xfffffffe < local_30a4;\n          local_30a4 = local_30a4 + 1;\n          local_30a0 = local_30a0 + (uint)bVar18;\n        } while (local_30c0 < (int)image->rows);\n      }" { (expression_statement "local_30a4 = 0;" (assignment_expression "local_30a4 = 0" identifier = number_literal) ;) (expression_statement "local_30a0 = 0;" (assignment_expression "local_30a0 = 0" identifier = number_literal) ;) (expression_statement "local_30c0 = 0;" (assignment_expression "local_30c0 = 0" identifier = number_literal) ;) (do_statement "do {\n          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);\n          if (pQVar15 == (Quantum *)0x0) break;\n          if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }\nLAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);\n          if (MVar7 == MagickFalse) break;\n          local_30c0 = local_30c0 + 1;\n          bVar18 = 0xfffffffe < local_30a4;\n          local_30a4 = local_30a4 + 1;\n          local_30a0 = local_30a0 + (uint)bVar18;\n        } while (local_30c0 < (int)image->rows);" do (compound_statement "{\n          pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);\n          if (pQVar15 == (Quantum *)0x0) break;\n          if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }\nLAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);\n          if (MVar7 == MagickFalse) break;\n          local_30c0 = local_30c0 + 1;\n          bVar18 = 0xfffffffe < local_30a4;\n          local_30a4 = local_30a4 + 1;\n          local_30a0 = local_30a0 + (uint)bVar18;\n        }" { (expression_statement "pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception);" (assignment_expression "pQVar15 = GetVirtualPixels(image,0,local_30c0,image->columns,1,exception)" identifier = (call_expression "GetVirtualPixels(image,0,local_30c0,image->columns,1,exception)" identifier (argument_list "(image,0,local_30c0,image->columns,1,exception)" ( identifier , number_literal , identifier , (field_expression "image->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (pQVar15 == (Quantum *)0x0) break;" if (parenthesized_expression "(pQVar15 == (Quantum *)0x0)" ( (binary_expression "pQVar15 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (0 < (int)image->columns) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }" if (parenthesized_expression "(0 < (int)image->columns)" ( (binary_expression "0 < (int)image->columns" number_literal < (cast_expression "(int)image->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "image->columns" identifier -> field_identifier))) )) (compound_statement "{\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);\n          }" { (expression_statement "local_30d4 = 0;" (assignment_expression "local_30d4 = 0" identifier = number_literal) ;) (do_statement "do {\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            } while (local_30d4 < (int)image->columns);" do (compound_statement "{\n              while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }\n              local_30d4 = local_30d4 + 1;\n              pQVar15 = pQVar15 + image->number_channels;\n            }" { (while_statement "while( true ) {\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                ResetMagickMemory(&pixel,0,0x50);\n                pixel.storage_class = image->storage_class;\n                pixel.alpha = (MagickRealType)DAT_002df8a8;\n                pixel.fuzz = image->fuzz;\n                pixel.colorspace = image->colorspace;\n                pixel.depth = image->depth;\n                pixel.alpha_trait = image->alpha_trait;\n                if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }\n                iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");\n                if (iVar11 == 0) break;\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                CopyMagickString(tuple,"(",0x1000);\n                if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }\n                if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }\n                if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }\n                ConcatenateMagickString(tuple,")",0x1000);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"  ");\n                GetColorTuple(&pixel,MagickTrue,tuple);\n                FormatLocaleString(buffer,0x1000,"%s",tuple);\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,"  ");\n                QueryColorname(image,&pixel,CSSCompliance,tuple,exception);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image,"\n");\n                local_30d4 = local_30d4 + 1;\n                pQVar15 = pQVar15 + image->number_channels;\n                if ((int)image->columns <= local_30d4) goto LAB_002c12ab;\n              }" { (expression_statement "ResetMagickMemory(&pixel,0,0x50);" (call_expression "ResetMagickMemory(&pixel,0,0x50)" identifier (argument_list "(&pixel,0,0x50)" ( (pointer_expression "&pixel" & identifier) , number_literal , number_literal ))) ;) (expression_statement "pixel.storage_class = image->storage_class;" (assignment_expression "pixel.storage_class = image->storage_class" (field_expression "pixel.storage_class" identifier . field_identifier) = (field_expression "image->storage_class" identifier -> field_identifier)) ;) (expression_statement "pixel.alpha = (MagickRealType)DAT_002df8a8;" (assignment_expression "pixel.alpha = (MagickRealType)DAT_002df8a8" (field_expression "pixel.alpha" identifier . field_identifier) = (cast_expression "(MagickRealType)DAT_002df8a8" ( (type_descriptor "MagickRealType" type_identifier) ) identifier)) ;) (expression_statement "pixel.fuzz = image->fuzz;" (assignment_expression "pixel.fuzz = image->fuzz" (field_expression "pixel.fuzz" identifier . field_identifier) = (field_expression "image->fuzz" identifier -> field_identifier)) ;) (expression_statement "pixel.colorspace = image->colorspace;" (assignment_expression "pixel.colorspace = image->colorspace" (field_expression "pixel.colorspace" identifier . field_identifier) = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (expression_statement "pixel.depth = image->depth;" (assignment_expression "pixel.depth = image->depth" (field_expression "pixel.depth" identifier . field_identifier) = (field_expression "image->depth" identifier -> field_identifier)) ;) (expression_statement "pixel.alpha_trait = image->alpha_trait;" (assignment_expression "pixel.alpha_trait = image->alpha_trait" (field_expression "pixel.alpha_trait" identifier . field_identifier) = (field_expression "image->alpha_trait" identifier -> field_identifier)) ;) (if_statement "if (pQVar15 != (Quantum *)0x0) {\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }" if (parenthesized_expression "(pQVar15 != (Quantum *)0x0)" ( (binary_expression "pQVar15 != (Quantum *)0x0" identifier != (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pPVar3 = image->channel_map;\n                  pixel.red = pQVar15[pPVar3->offset];\n                  pixel.green = pQVar15[pPVar3[1].offset];\n                  pixel.blue = pQVar15[pPVar3[2].offset];\n                  if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }\n                  if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }\n                }" { (expression_statement "pPVar3 = image->channel_map;" (assignment_expression "pPVar3 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "pixel.red = pQVar15[pPVar3->offset];" (assignment_expression "pixel.red = pQVar15[pPVar3->offset]" (field_expression "pixel.red" identifier . field_identifier) = (subscript_expression "pQVar15[pPVar3->offset]" identifier [ (field_expression "pPVar3->offset" identifier -> field_identifier) ])) ;) (expression_statement "pixel.green = pQVar15[pPVar3[1].offset];" (assignment_expression "pixel.green = pQVar15[pPVar3[1].offset]" (field_expression "pixel.green" identifier . field_identifier) = (subscript_expression "pQVar15[pPVar3[1].offset]" identifier [ (field_expression "pPVar3[1].offset" (subscript_expression "pPVar3[1]" identifier [ number_literal ]) . field_identifier) ])) ;) (expression_statement "pixel.blue = pQVar15[pPVar3[2].offset];" (assignment_expression "pixel.blue = pQVar15[pPVar3[2].offset]" (field_expression "pixel.blue" identifier . field_identifier) = (subscript_expression "pQVar15[pPVar3[2].offset]" identifier [ (field_expression "pPVar3[2].offset" (subscript_expression "pPVar3[2]" identifier [ number_literal ]) . field_identifier) ])) ;) (if_statement "if (pPVar3[3].traits != UndefinedPixelTrait) {\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }" if (parenthesized_expression "(pPVar3[3].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar3[3].traits != UndefinedPixelTrait" (field_expression "pPVar3[3].traits" (subscript_expression "pPVar3[3]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                    pixel.black = pQVar15[pPVar3[3].offset];\n                  }" { (expression_statement "pixel.black = pQVar15[pPVar3[3].offset];" (assignment_expression "pixel.black = pQVar15[pPVar3[3].offset]" (field_expression "pixel.black" identifier . field_identifier) = (subscript_expression "pQVar15[pPVar3[3].offset]" identifier [ (field_expression "pPVar3[3].offset" (subscript_expression "pPVar3[3]" identifier [ number_literal ]) . field_identifier) ])) ;) })) (if_statement "if (pPVar3[4].traits != UndefinedPixelTrait) {\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }" if (parenthesized_expression "(pPVar3[4].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar3[4].traits != UndefinedPixelTrait" (field_expression "pPVar3[4].traits" (subscript_expression "pPVar3[4]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                    pixel.alpha = pQVar15[pPVar3[4].offset];\n                    pixel.alpha_trait = BlendPixelTrait;\n                  }" { (expression_statement "pixel.alpha = pQVar15[pPVar3[4].offset];" (assignment_expression "pixel.alpha = pQVar15[pPVar3[4].offset]" (field_expression "pixel.alpha" identifier . field_identifier) = (subscript_expression "pQVar15[pPVar3[4].offset]" identifier [ (field_expression "pPVar3[4].offset" (subscript_expression "pPVar3[4]" identifier [ number_literal ]) . field_identifier) ])) ;) (expression_statement "pixel.alpha_trait = BlendPixelTrait;" (assignment_expression "pixel.alpha_trait = BlendPixelTrait" (field_expression "pixel.alpha_trait" identifier . field_identifier) = identifier) ;) })) (if_statement "if (pPVar3[5].traits != UndefinedPixelTrait) {\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }" if (parenthesized_expression "(pPVar3[5].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar3[5].traits != UndefinedPixelTrait" (field_expression "pPVar3[5].traits" (subscript_expression "pPVar3[5]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                    pixel.index = pQVar15[pPVar3[5].offset];\n                  }" { (expression_statement "pixel.index = pQVar15[pPVar3[5].offset];" (assignment_expression "pixel.index = pQVar15[pPVar3[5].offset]" (field_expression "pixel.index" identifier . field_identifier) = (subscript_expression "pQVar15[pPVar3[5].offset]" identifier [ (field_expression "pPVar3[5].offset" (subscript_expression "pPVar3[5]" identifier [ number_literal ]) . field_identifier) ])) ;) })) })) (expression_statement "iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR");" (assignment_expression "iVar11 = LocaleCompare(image_info->magick,"SPARSE-COLOR")" identifier = (call_expression "LocaleCompare(image_info->magick,"SPARSE-COLOR")" identifier (argument_list "(image_info->magick,"SPARSE-COLOR")" ( (field_expression "image_info->magick" identifier -> field_identifier) , (string_literal ""SPARSE-COLOR"" " string_content ") )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g,%.20g: ",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g,%.20g: "" " string_content ") , (call_expression "SUB84((double)local_30d4,0)" identifier (argument_list "((double)local_30d4,0)" ( (cast_expression "(double)local_30d4" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_30d4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_30d4 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_30d4 >> 0x20" (cast_expression "(ulonglong)(double)local_30d4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_30d4" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84((double)local_30c0,0)" identifier (argument_list "((double)local_30c0,0)" ( (cast_expression "(double)local_30c0" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_30c0 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_30c0 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_30c0 >> 0x20" (cast_expression "(ulonglong)(double)local_30c0" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_30c0" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "CopyMagickString(tuple,"(",0x1000);" (call_expression "CopyMagickString(tuple,"(",0x1000)" identifier (argument_list "(tuple,"(",0x1000)" ( identifier , (string_literal ""("" " string_content ") , number_literal ))) ;) (if_statement "if ((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)) {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }\n                else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }" if (parenthesized_expression "((pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace))" ( (binary_expression "(pixel.colorspace == LinearGRAYColorspace) ||\n                   (pixel.colorspace == GRAYColorspace)" (parenthesized_expression "(pixel.colorspace == LinearGRAYColorspace)" ( (binary_expression "pixel.colorspace == LinearGRAYColorspace" (field_expression "pixel.colorspace" identifier . field_identifier) == identifier) )) || (parenthesized_expression "(pixel.colorspace == GRAYColorspace)" ( (binary_expression "pixel.colorspace == GRAYColorspace" (field_expression "pixel.colorspace" identifier . field_identifier) == identifier) ))) )) (compound_statement "{\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                }" { (expression_statement "ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);" (call_expression "ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple)" identifier (argument_list "(&pixel,CyanPixelChannel,local_30bc,tuple)" ( (pointer_expression "&pixel" & identifier) , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }" else (compound_statement "{\n                  ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);\n                }" { (expression_statement "ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple);" (call_expression "ConcatenateColorComponent(&pixel,CyanPixelChannel,local_30bc,tuple)" identifier (argument_list "(&pixel,CyanPixelChannel,local_30bc,tuple)" ( (pointer_expression "&pixel" & identifier) , identifier , identifier , identifier ))) ;) (expression_statement "ConcatenateMagickString(tuple,",",0x1000);" (call_expression "ConcatenateMagickString(tuple,",",0x1000)" identifier (argument_list "(tuple,",",0x1000)" ( identifier , (string_literal "","" " string_content ") , number_literal ))) ;) (expression_statement "ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple);" (call_expression "ConcatenateColorComponent(&pixel,CbPixelChannel,local_30bc,tuple)" identifier (argument_list "(&pixel,CbPixelChannel,local_30bc,tuple)" ( (pointer_expression "&pixel" & identifier) , identifier , identifier , identifier ))) ;) (expression_statement "ConcatenateMagickString(tuple,",",0x1000);" (call_expression "ConcatenateMagickString(tuple,",",0x1000)" identifier (argument_list "(tuple,",",0x1000)" ( identifier , (string_literal "","" " string_content ") , number_literal ))) ;) (expression_statement "ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple);" (call_expression "ConcatenateColorComponent(&pixel,BluePixelChannel,local_30bc,tuple)" identifier (argument_list "(&pixel,BluePixelChannel,local_30bc,tuple)" ( (pointer_expression "&pixel" & identifier) , identifier , identifier , identifier ))) ;) }))) (if_statement "if (pixel.colorspace == CMYKColorspace) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }" if (parenthesized_expression "(pixel.colorspace == CMYKColorspace)" ( (binary_expression "pixel.colorspace == CMYKColorspace" (field_expression "pixel.colorspace" identifier . field_identifier) == identifier) )) (compound_statement "{\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);\n                }" { (expression_statement "ConcatenateMagickString(tuple,",",0x1000);" (call_expression "ConcatenateMagickString(tuple,",",0x1000)" identifier (argument_list "(tuple,",",0x1000)" ( identifier , (string_literal "","" " string_content ") , number_literal ))) ;) (expression_statement "ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple);" (call_expression "ConcatenateColorComponent(&pixel,BlackPixelChannel,local_30bc,tuple)" identifier (argument_list "(&pixel,BlackPixelChannel,local_30bc,tuple)" ( (pointer_expression "&pixel" & identifier) , identifier , identifier , identifier ))) ;) })) (if_statement "if (pixel.alpha_trait != UndefinedPixelTrait) {\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }" if (parenthesized_expression "(pixel.alpha_trait != UndefinedPixelTrait)" ( (binary_expression "pixel.alpha_trait != UndefinedPixelTrait" (field_expression "pixel.alpha_trait" identifier . field_identifier) != identifier) )) (compound_statement "{\n                  ConcatenateMagickString(tuple,",",0x1000);\n                  ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);\n                }" { (expression_statement "ConcatenateMagickString(tuple,",",0x1000);" (call_expression "ConcatenateMagickString(tuple,",",0x1000)" identifier (argument_list "(tuple,",",0x1000)" ( identifier , (string_literal "","" " string_content ") , number_literal ))) ;) (expression_statement "ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple);" (call_expression "ConcatenateColorComponent(&pixel,AlphaPixelChannel,local_30bc,tuple)" identifier (argument_list "(&pixel,AlphaPixelChannel,local_30bc,tuple)" ( (pointer_expression "&pixel" & identifier) , identifier , identifier , identifier ))) ;) })) (expression_statement "ConcatenateMagickString(tuple,")",0x1000);" (call_expression "ConcatenateMagickString(tuple,")",0x1000)" identifier (argument_list "(tuple,")",0x1000)" ( identifier , (string_literal "")"" " string_content ") , number_literal ))) ;) (expression_statement "WriteBlobString(image,tuple);" (call_expression "WriteBlobString(image,tuple)" identifier (argument_list "(image,tuple)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(image,"  ");" (call_expression "WriteBlobString(image,"  ")" identifier (argument_list "(image,"  ")" ( identifier , (string_literal ""  "" " string_content ") ))) ;) (expression_statement "GetColorTuple(&pixel,MagickTrue,tuple);" (call_expression "GetColorTuple(&pixel,MagickTrue,tuple)" identifier (argument_list "(&pixel,MagickTrue,tuple)" ( (pointer_expression "&pixel" & identifier) , identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%s",tuple);" (call_expression "FormatLocaleString(buffer,0x1000,"%s",tuple)" identifier (argument_list "(buffer,0x1000,"%s",tuple)" ( identifier , number_literal , (string_literal ""%s"" " string_content ") , identifier ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(image,"  ");" (call_expression "WriteBlobString(image,"  ")" identifier (argument_list "(image,"  ")" ( identifier , (string_literal ""  "" " string_content ") ))) ;) (expression_statement "QueryColorname(image,&pixel,CSSCompliance,tuple,exception);" (call_expression "QueryColorname(image,&pixel,CSSCompliance,tuple,exception)" identifier (argument_list "(image,&pixel,CSSCompliance,tuple,exception)" ( identifier , (pointer_expression "&pixel" & identifier) , identifier , identifier , identifier ))) ;) (expression_statement "WriteBlobString(image,tuple);" (call_expression "WriteBlobString(image,tuple)" identifier (argument_list "(image,tuple)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(image,"\n");" (call_expression "WriteBlobString(image,"\n")" identifier (argument_list "(image,"\n")" ( identifier , (string_literal ""\n"" " escape_sequence ") ))) ;) (expression_statement "local_30d4 = local_30d4 + 1;" (assignment_expression "local_30d4 = local_30d4 + 1" identifier = (binary_expression "local_30d4 + 1" identifier + number_literal)) ;) (expression_statement "pQVar15 = pQVar15 + image->number_channels;" (assignment_expression "pQVar15 = pQVar15 + image->number_channels" identifier = (binary_expression "pQVar15 + image->number_channels" identifier + (field_expression "image->number_channels" identifier -> field_identifier))) ;) (if_statement "if ((int)image->columns <= local_30d4) goto LAB_002c12ab;" if (parenthesized_expression "((int)image->columns <= local_30d4)" ( (binary_expression "(int)image->columns <= local_30d4" (cast_expression "(int)image->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "image->columns" identifier -> field_identifier)) <= identifier) )) (goto_statement "goto LAB_002c12ab;" goto statement_identifier ;)) })) (if_statement "if ((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)) {\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }" if (parenthesized_expression "((image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8))" ( (binary_expression "(image->channel_map[4].traits == UndefinedPixelTrait) ||\n                 ((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)" (parenthesized_expression "(image->channel_map[4].traits == UndefinedPixelTrait)" ( (binary_expression "image->channel_map[4].traits == UndefinedPixelTrait" (field_expression "image->channel_map[4].traits" (subscript_expression "image->channel_map[4]" (field_expression "image->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) == identifier) )) || (parenthesized_expression "((float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8)" ( (binary_expression "(float)pQVar15[image->channel_map[4].offset] == DAT_002df8a8" (cast_expression "(float)pQVar15[image->channel_map[4].offset]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "pQVar15[image->channel_map[4].offset]" identifier [ (field_expression "image->channel_map[4].offset" (subscript_expression "image->channel_map[4]" (field_expression "image->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) ])) == identifier) ))) )) (compound_statement "{\n                GetColorTuple(&pixel,MagickFalse,tuple);\n                FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));\n                WriteBlobString(image,buffer);\n                WriteBlobString(image,tuple);\n                WriteBlobString(image," ");\n              }" { (expression_statement "GetColorTuple(&pixel,MagickFalse,tuple);" (call_expression "GetColorTuple(&pixel,MagickFalse,tuple)" identifier (argument_list "(&pixel,MagickFalse,tuple)" ( (pointer_expression "&pixel" & identifier) , identifier , identifier ))) ;) (expression_statement "FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20));" (call_expression "FormatLocaleString(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20))" identifier (argument_list "(buffer,0x1000,"%.20g,%.20g,",SUB84((double)local_30d4,0),\n                                   (int)((ulonglong)(double)local_30d4 >> 0x20),\n                                   SUB84((double)local_30c0,0),\n                                   (int)((ulonglong)(double)local_30c0 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g,%.20g,"" " string_content ") , (call_expression "SUB84((double)local_30d4,0)" identifier (argument_list "((double)local_30d4,0)" ( (cast_expression "(double)local_30d4" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_30d4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_30d4 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_30d4 >> 0x20" (cast_expression "(ulonglong)(double)local_30d4" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_30d4" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84((double)local_30c0,0)" identifier (argument_list "((double)local_30c0,0)" ( (cast_expression "(double)local_30c0" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_30c0 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_30c0 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_30c0 >> 0x20" (cast_expression "(ulonglong)(double)local_30c0" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_30c0" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) ))) ;) (expression_statement "WriteBlobString(image,buffer);" (call_expression "WriteBlobString(image,buffer)" identifier (argument_list "(image,buffer)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(image,tuple);" (call_expression "WriteBlobString(image,tuple)" identifier (argument_list "(image,tuple)" ( identifier , identifier ))) ;) (expression_statement "WriteBlobString(image," ");" (call_expression "WriteBlobString(image," ")" identifier (argument_list "(image," ")" ( identifier , (string_literal "" "" " string_content ") ))) ;) })) (expression_statement "local_30d4 = local_30d4 + 1;" (assignment_expression "local_30d4 = local_30d4 + 1" identifier = (binary_expression "local_30d4 + 1" identifier + number_literal)) ;) (expression_statement "pQVar15 = pQVar15 + image->number_channels;" (assignment_expression "pQVar15 = pQVar15 + image->number_channels" identifier = (binary_expression "pQVar15 + image->number_channels" identifier + (field_expression "image->number_channels" identifier -> field_identifier))) ;) }) while (parenthesized_expression "(local_30d4 < (int)image->columns)" ( (binary_expression "local_30d4 < (int)image->columns" identifier < (cast_expression "(int)image->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "image->columns" identifier -> field_identifier))) )) ;) })) (labeled_statement "LAB_002c12ab:\n          MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);" statement_identifier : (expression_statement "MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows);" (assignment_expression "MVar7 = SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows)" identifier = (call_expression "SetImageProgress(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows)" identifier (argument_list "(image,"Save/Image",CONCAT44(local_30a0,local_30a4),\n                                   (ulonglong)image->rows)" ( identifier , (string_literal ""Save/Image"" " string_content ") , (call_expression "CONCAT44(local_30a0,local_30a4)" identifier (argument_list "(local_30a0,local_30a4)" ( identifier , identifier ))) , (cast_expression "(ulonglong)image->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "image->rows" 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 "local_30c0 = local_30c0 + 1;" (assignment_expression "local_30c0 = local_30c0 + 1" identifier = (binary_expression "local_30c0 + 1" identifier + number_literal)) ;) (expression_statement "bVar18 = 0xfffffffe < local_30a4;" (assignment_expression "bVar18 = 0xfffffffe < local_30a4" identifier = (binary_expression "0xfffffffe < local_30a4" number_literal < identifier)) ;) (expression_statement "local_30a4 = local_30a4 + 1;" (assignment_expression "local_30a4 = local_30a4 + 1" identifier = (binary_expression "local_30a4 + 1" identifier + number_literal)) ;) (expression_statement "local_30a0 = local_30a0 + (uint)bVar18;" (assignment_expression "local_30a0 = local_30a0 + (uint)bVar18" identifier = (binary_expression "local_30a0 + (uint)bVar18" identifier + (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "(local_30c0 < (int)image->rows)" ( (binary_expression "local_30c0 < (int)image->rows" identifier < (cast_expression "(int)image->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "image->rows" identifier -> field_identifier))) )) ;) })) (expression_statement "pIVar16 = GetNextImageInList(image);" (assignment_expression "pIVar16 = GetNextImageInList(image)" identifier = (call_expression "GetNextImageInList(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if (pIVar16 == (Image *)0x0) goto LAB_002c143d;" if (parenthesized_expression "(pIVar16 == (Image *)0x0)" ( (binary_expression "pIVar16 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c143d;" goto statement_identifier ;)) (expression_statement "image = SyncNextImageInList(image);" (assignment_expression "image = SyncNextImageInList(image)" identifier = (call_expression "SyncNextImageInList(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "bVar18 = 0xfffffffe < local_309c;" (assignment_expression "bVar18 = 0xfffffffe < local_309c" identifier = (binary_expression "0xfffffffe < local_309c" number_literal < identifier)) ;) (expression_statement "MVar7 = SetImageProgress(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)\n      ;" (assignment_expression "MVar7 = SetImageProgress(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)" identifier = (call_expression "SetImageProgress(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)" identifier (argument_list "(image,"Save/Images",CONCAT44(local_3098,local_309c),(ulonglong)sVar8)" ( identifier , (string_literal ""Save/Images"" " string_content ") , (call_expression "CONCAT44(local_3098,local_309c)" identifier (argument_list "(local_3098,local_309c)" ( identifier , identifier ))) , (cast_expression "(ulonglong)sVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if ((MVar7 == MagickFalse) ||\n         (local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse)) goto LAB_002c143d;" if (parenthesized_expression "((MVar7 == MagickFalse) ||\n         (local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse))" ( (binary_expression "(MVar7 == MagickFalse) ||\n         (local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse)" (parenthesized_expression "(MVar7 == MagickFalse)" ( (binary_expression "MVar7 == MagickFalse" identifier == identifier) )) || (parenthesized_expression "(local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse)" ( (comma_expression "local_309c = local_309c + 1, local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse" (assignment_expression "local_309c = local_309c + 1" identifier = (binary_expression "local_309c + 1" identifier + number_literal)) , (comma_expression "local_3098 = local_3098 + (uint)bVar18,\n         image_info->adjoin == MagickFalse" (assignment_expression "local_3098 = local_3098 + (uint)bVar18" identifier = (binary_expression "local_3098 + (uint)bVar18" identifier + (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier))) , (binary_expression "image_info->adjoin == MagickFalse" (field_expression "image_info->adjoin" identifier -> field_identifier) == identifier))) ))) )) (goto_statement "goto LAB_002c143d;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_002c144e:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar7;\n  }" statement_identifier : (if_statement "if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return MVar7;\n  }" if (parenthesized_expression "(iVar2 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar2 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return MVar7;\n  }" { (return_statement "return MVar7;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002c143d:\n  CloseBlob(image);" statement_identifier : (expression_statement "CloseBlob(image);" (call_expression "CloseBlob(image)" identifier (argument_list "(image)" ( identifier ))) ;)) (expression_statement "MVar7 = MagickTrue;" (assignment_expression "MVar7 = MagickTrue" identifier = identifier) ;) (goto_statement "goto LAB_002c144e;" goto statement_identifier ;) })))
(translation_unit "int FUN_002c0ca0(int param_1,int param_2)\n\n{\n  double dVar1;\n  int iVar2;\n  byte bVar3;\n  float fVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  int iVar11;\n  byte bVar12;\n  int in_GS_OFFSET;\n  int local_30d4;\n  int local_30c0;\n  int local_3068;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [8192];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2c0ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3328) != 0) {\n    LogMagickEvent();\n  }\n  iVar6 = OpenBlob();\n  if (iVar6 != 0) {\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }\nLAB_002c144e:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }\n                    \n  FUN_002decd0();\nLAB_002c143d:\n  CloseBlob();\n  iVar6 = 1;\n  goto LAB_002c144e;\n}\n\n" (function_definition "int FUN_002c0ca0(int param_1,int param_2)\n\n{\n  double dVar1;\n  int iVar2;\n  byte bVar3;\n  float fVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  int iVar11;\n  byte bVar12;\n  int in_GS_OFFSET;\n  int local_30d4;\n  int local_30c0;\n  int local_3068;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [8192];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2c0ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3328) != 0) {\n    LogMagickEvent();\n  }\n  iVar6 = OpenBlob();\n  if (iVar6 != 0) {\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }\nLAB_002c144e:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }\n                    \n  FUN_002decd0();\nLAB_002c143d:\n  CloseBlob();\n  iVar6 = 1;\n  goto LAB_002c144e;\n}" primitive_type (function_declarator "FUN_002c0ca0(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  double dVar1;\n  int iVar2;\n  byte bVar3;\n  float fVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  int iVar11;\n  byte bVar12;\n  int in_GS_OFFSET;\n  int local_30d4;\n  int local_30c0;\n  int local_3068;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [8192];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2c0ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3328) != 0) {\n    LogMagickEvent();\n  }\n  iVar6 = OpenBlob();\n  if (iVar6 != 0) {\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }\nLAB_002c144e:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }\n                    \n  FUN_002decd0();\nLAB_002c143d:\n  CloseBlob();\n  iVar6 = 1;\n  goto LAB_002c144e;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "float fVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int local_30d4;" primitive_type identifier ;) (declaration "int local_30c0;" primitive_type identifier ;) (declaration "int local_3068;" primitive_type identifier ;) (declaration "undefined1 local_3020 [4096];" type_identifier (array_declarator "local_3020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_2020 [8192];" type_identifier (array_declarator "local_2020 [8192]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2c0ca9;" (assignment_expression "uStack_14 = 0x2c0ca9" 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/txt.c",0x2f0,"WriteTXTImage");\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/txt.c",0x2f0,"WriteTXTImage");\n  }" { (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\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/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }" { (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }" { (expression_statement "__assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");" (call_expression "__assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage")" identifier (argument_list "("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_2 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x3344) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x3344) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x3344)" * (cast_expression "(int *)(param_2 + 0x3344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x3344)" ( (binary_expression "param_2 + 0x3344" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }" { (expression_statement "__assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage")" identifier (argument_list "("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/txt.c"" " string_content ") , number_literal , (string_literal ""WriteTXTImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_2 + 0x3328) != 0) {\n    LogMagickEvent();\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x3328) != 0)" ( (binary_expression "*(int *)(param_2 + 0x3328) != 0" (pointer_expression "*(int *)(param_2 + 0x3328)" * (cast_expression "(int *)(param_2 + 0x3328)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x3328)" ( (binary_expression "param_2 + 0x3328" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent();\n  }" { (expression_statement "LogMagickEvent();" (call_expression "LogMagickEvent()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar6 = OpenBlob();" (assignment_expression "iVar6 = OpenBlob()" identifier = (call_expression "OpenBlob()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 != 0) {\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }" { (expression_statement "GetImageListLength();" (call_expression "GetImageListLength()" identifier (argument_list "()" ( ))) ;) (do_statement "do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );" do (compound_statement "{\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    }" { (expression_statement "CommandOptionToMnemonic();" (call_expression "CommandOptionToMnemonic()" identifier (argument_list "()" ( ))) ;) (expression_statement "CopyMagickString();" (call_expression "CopyMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "LocaleLower();" (call_expression "LocaleLower()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar7 = GetImageQuantumDepth();" (assignment_expression "uVar7 = GetImageQuantumDepth()" identifier = (call_expression "GetImageQuantumDepth()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(param_2 + 0x20) = uVar7;" (assignment_expression "*(undefined4 *)(param_2 + 0x20) = uVar7" (pointer_expression "*(undefined4 *)(param_2 + 0x20)" * (cast_expression "(undefined4 *)(param_2 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }" if (parenthesized_expression "(*(int *)(param_2 + 0x294) != 0)" ( (binary_expression "*(int *)(param_2 + 0x294) != 0" (pointer_expression "*(int *)(param_2 + 0x294)" * (cast_expression "(int *)(param_2 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x294)" ( (binary_expression "param_2 + 0x294" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        ConcatenateMagickString();\n      }" { (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar6 = GetImageOption();" (assignment_expression "iVar6 = GetImageOption()" identifier = (call_expression "GetImageOption()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 != 0) {\n        ParseCommandOption();\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        ParseCommandOption();\n      }" { (expression_statement "ParseCommandOption();" (call_expression "ParseCommandOption()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar6 = LocaleCompare();" (assignment_expression "iVar6 = LocaleCompare()" identifier = (call_expression "LocaleCompare()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }" { (expression_statement "uVar8 = *(uint *)(param_2 + 0x20);" (assignment_expression "uVar8 = *(uint *)(param_2 + 0x20)" identifier = (pointer_expression "*(uint *)(param_2 + 0x20)" * (cast_expression "(uint *)(param_2 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          dVar1 = 0.0;\n        }" { (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }" else (compound_statement "{\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }" { (if_statement "if (0x40 < uVar8) {\n            uVar8 = 0;\n          }" if (parenthesized_expression "(0x40 < uVar8)" ( (binary_expression "0x40 < uVar8" number_literal < identifier) )) (compound_statement "{\n            uVar8 = 0;\n          }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) })) (expression_statement "bVar12 = (byte)(uVar8 - 1);" (assignment_expression "bVar12 = (byte)(uVar8 - 1)" identifier = (call_expression "(byte)(uVar8 - 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar8 - 1)" ( (binary_expression "uVar8 - 1" identifier - number_literal) )))) ;) (expression_statement "bVar3 = bVar12 & 0x1f;" (assignment_expression "bVar3 = bVar12 & 0x1f" identifier = (binary_expression "bVar12 & 0x1f" identifier & number_literal)) ;) (expression_statement "uVar9 = 2 << (bVar12 & 0x1f);" (assignment_expression "uVar9 = 2 << (bVar12 & 0x1f)" identifier = (binary_expression "2 << (bVar12 & 0x1f)" number_literal << (parenthesized_expression "(bVar12 & 0x1f)" ( (binary_expression "bVar12 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar10 = uVar9;" (assignment_expression "uVar10 = uVar9" identifier = identifier) ;) (expression_statement "uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;" (assignment_expression "uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3" identifier = (binary_expression "0 << bVar3 | 2U >> 0x20 - bVar3" (binary_expression "0 << bVar3" number_literal << identifier) | (binary_expression "2U >> 0x20 - bVar3" number_literal >> (binary_expression "0x20 - bVar3" number_literal - identifier)))) ;) (if_statement "if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }" if (parenthesized_expression "((uVar8 - 1 & 0x20) != 0)" ( (binary_expression "(uVar8 - 1 & 0x20) != 0" (parenthesized_expression "(uVar8 - 1 & 0x20)" ( (binary_expression "uVar8 - 1 & 0x20" (binary_expression "uVar8 - 1" identifier - number_literal) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar5 = uVar9;" (assignment_expression "uVar5 = uVar9" identifier = identifier) ;) })) (expression_statement "iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);" (assignment_expression "iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0)" identifier = (binary_expression "(uVar5 - 1) + (uint)(uVar10 != 0)" (parenthesized_expression "(uVar5 - 1)" ( (binary_expression "uVar5 - 1" identifier - number_literal) )) + (call_expression "(uint)(uVar10 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) ))))) ;) (expression_statement "fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);" (assignment_expression "fVar4 = (float)CONCAT44(iVar6,uVar10 - 1)" identifier = (cast_expression "(float)CONCAT44(iVar6,uVar10 - 1)" ( (type_descriptor "float" primitive_type) ) (call_expression "CONCAT44(iVar6,uVar10 - 1)" identifier (argument_list "(iVar6,uVar10 - 1)" ( identifier , (binary_expression "uVar10 - 1" identifier - number_literal) ))))) ;) (if_statement "if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n            fVar4 = fVar4 + DAT_002df8b0;\n          }" { (expression_statement "fVar4 = fVar4 + DAT_002df8b0;" (assignment_expression "fVar4 = fVar4 + DAT_002df8b0" identifier = (binary_expression "fVar4 + DAT_002df8b0" identifier + identifier)) ;) })) (expression_statement "dVar1 = (double)fVar4;" (assignment_expression "dVar1 = (double)fVar4" identifier = (cast_expression "(double)fVar4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);" (call_expression "FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020)" identifier (argument_list "(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020)" ( identifier , number_literal , (string_literal ""# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n"" " string_content escape_sequence ") , (cast_expression "(double)*(uint *)(param_2 + 0x18)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(uint *)(param_2 + 0x18)" * (cast_expression "(uint *)(param_2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) , (cast_expression "(double)*(uint *)(param_2 + 0x1c)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(uint *)(param_2 + 0x1c)" * (cast_expression "(uint *)(param_2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) , identifier , identifier ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "GetPixelInfo();" (call_expression "GetPixelInfo()" identifier (argument_list "()" ( ))) ;) (if_statement "if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }" if (parenthesized_expression "(0 < *(int *)(param_2 + 0x1c))" ( (binary_expression "0 < *(int *)(param_2 + 0x1c)" number_literal < (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) ))))) )) (compound_statement "{\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }" { (expression_statement "local_30c0 = 0;" (assignment_expression "local_30c0 = 0" identifier = number_literal) ;) (while_statement "while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }" while (parenthesized_expression "(iVar6 = GetVirtualPixels(), iVar6 != 0)" ( (comma_expression "iVar6 = GetVirtualPixels(), iVar6 != 0" (assignment_expression "iVar6 = GetVirtualPixels()" identifier = (call_expression "GetVirtualPixels()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) )) (compound_statement "{\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }" { (if_statement "if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }" if (parenthesized_expression "(0 < *(int *)(param_2 + 0x18))" ( (binary_expression "0 < *(int *)(param_2 + 0x18)" number_literal < (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }" { (expression_statement "local_30d4 = 0;" (assignment_expression "local_30d4 = 0" identifier = number_literal) ;) (do_statement "do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));" do (compound_statement "{\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            }" { (while_statement "while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }" { (expression_statement "ResetMagickMemory();" (call_expression "ResetMagickMemory()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar2 = *(int *)(param_2 + 4);" (assignment_expression "iVar2 = *(int *)(param_2 + 4)" identifier = (pointer_expression "*(int *)(param_2 + 4)" * (cast_expression "(int *)(param_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_3068 = *(int *)(param_2 + 0x294);" (assignment_expression "local_3068 = *(int *)(param_2 + 0x294)" identifier = (pointer_expression "*(int *)(param_2 + 0x294)" * (cast_expression "(int *)(param_2 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x294)" ( (binary_expression "param_2 + 0x294" identifier + number_literal) ))))) ;) (if_statement "if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }" if (parenthesized_expression "((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0))" ( (binary_expression "(iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)" ( (binary_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0" (pointer_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" * (cast_expression "(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x2a8) + 0x34)" ( (binary_expression "*(int *)(param_2 + 0x2a8) + 0x34" (pointer_expression "*(int *)(param_2 + 0x2a8)" * (cast_expression "(int *)(param_2 + 0x2a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x2a8)" ( (binary_expression "param_2 + 0x2a8" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                  local_3068 = 4;\n                }" { (expression_statement "local_3068 = 4;" (assignment_expression "local_3068 = 4" identifier = number_literal) ;) })) (expression_statement "iVar11 = LocaleCompare();" (assignment_expression "iVar11 = LocaleCompare()" identifier = (call_expression "LocaleCompare()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "CopyMagickString();" (call_expression "CopyMagickString()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" if (parenthesized_expression "((iVar2 == 0x21) || (iVar2 == 3))" ( (binary_expression "(iVar2 == 0x21) || (iVar2 == 3)" (parenthesized_expression "(iVar2 == 0x21)" ( (binary_expression "iVar2 == 0x21" identifier == number_literal) )) || (parenthesized_expression "(iVar2 == 3)" ( (binary_expression "iVar2 == 3" identifier == number_literal) ))) )) (compound_statement "{\n                  ConcatenateColorComponent();\n                }" { (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" else (compound_statement "{\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" { (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" { (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" if (parenthesized_expression "(local_3068 != 0)" ( (binary_expression "local_3068 != 0" identifier != number_literal) )) (compound_statement "{\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" { (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "GetColorTuple();" (call_expression "GetColorTuple()" identifier (argument_list "()" ( ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "QueryColorname();" (call_expression "QueryColorname()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_30d4 = local_30d4 + 1;" (assignment_expression "local_30d4 = local_30d4 + 1" identifier = (binary_expression "local_30d4 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;" (assignment_expression "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8" identifier = (binary_expression "iVar6 + *(int *)(param_2 + 0x298) * 8" identifier + (binary_expression "*(int *)(param_2 + 0x298) * 8" (pointer_expression "*(int *)(param_2 + 0x298)" * (cast_expression "(int *)(param_2 + 0x298)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x298)" ( (binary_expression "param_2 + 0x298" identifier + number_literal) )))) * number_literal))) ;) (if_statement "if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;" if (parenthesized_expression "(*(int *)(param_2 + 0x18) <= local_30d4)" ( (binary_expression "*(int *)(param_2 + 0x18) <= local_30d4" (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_002c12ab;" goto statement_identifier ;)) })) (if_statement "if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }" if (parenthesized_expression "((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8))" ( (binary_expression "(*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)" (parenthesized_expression "(*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0)" ( (binary_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0" (pointer_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" * (cast_expression "(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x2a8) + 0x34)" ( (binary_expression "*(int *)(param_2 + 0x2a8) + 0x34" (pointer_expression "*(int *)(param_2 + 0x2a8)" * (cast_expression "(int *)(param_2 + 0x2a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x2a8)" ( (binary_expression "param_2 + 0x2a8" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) || (parenthesized_expression "((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)" ( (binary_expression "(float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8" (cast_expression "(float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" * (cast_expression "(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" ( (binary_expression "iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8" identifier + (binary_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8" (pointer_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x38)" * (cast_expression "(int *)(*(int *)(param_2 + 0x2a8) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x2a8) + 0x38)" ( (binary_expression "*(int *)(param_2 + 0x2a8) + 0x38" (pointer_expression "*(int *)(param_2 + 0x2a8)" * (cast_expression "(int *)(param_2 + 0x2a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x2a8)" ( (binary_expression "param_2 + 0x2a8" identifier + number_literal) )))) + number_literal) )))) * number_literal)) ))))) == identifier) ))) )) (compound_statement "{\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }" { (expression_statement "GetColorTuple();" (call_expression "GetColorTuple()" identifier (argument_list "()" ( ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_30d4 = local_30d4 + 1;" (assignment_expression "local_30d4 = local_30d4 + 1" identifier = (binary_expression "local_30d4 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;" (assignment_expression "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8" identifier = (binary_expression "iVar6 + *(int *)(param_2 + 0x298) * 8" identifier + (binary_expression "*(int *)(param_2 + 0x298) * 8" (pointer_expression "*(int *)(param_2 + 0x298)" * (cast_expression "(int *)(param_2 + 0x298)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x298)" ( (binary_expression "param_2 + 0x298" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(local_30d4 < *(int *)(param_2 + 0x18))" ( (binary_expression "local_30d4 < *(int *)(param_2 + 0x18)" identifier < (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )) ;) })) (labeled_statement "LAB_002c12ab:\n          iVar6 = SetImageProgress();" statement_identifier : (expression_statement "iVar6 = SetImageProgress();" (assignment_expression "iVar6 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;)) (if_statement "if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;" if (parenthesized_expression "((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))" ( (binary_expression "(iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0)" ( (comma_expression "local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0" (assignment_expression "local_30c0 = local_30c0 + 1" identifier = (binary_expression "local_30c0 + 1" identifier + number_literal)) , (binary_expression "*(int *)(param_2 + 0x1c) <= local_30c0" (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) )))) <= identifier)) ))) )) (break_statement "break;" break ;)) })) })) (expression_statement "iVar6 = GetNextImageInList();" (assignment_expression "iVar6 = GetNextImageInList()" identifier = (call_expression "GetNextImageInList()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 == 0) goto LAB_002c143d;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c143d;" goto statement_identifier ;)) (expression_statement "param_2 = SyncNextImageInList();" (assignment_expression "param_2 = SyncNextImageInList()" identifier = (call_expression "SyncNextImageInList()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = SetImageProgress();" (assignment_expression "iVar6 = SetImageProgress()" identifier = (call_expression "SetImageProgress()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;" if (parenthesized_expression "((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0))" ( (binary_expression "(iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" ( (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_002c143d;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_002c144e:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\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 iVar6;\n  }" { (return_statement "return iVar6;" return identifier ;) }))) (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002c143d:\n  CloseBlob();" statement_identifier : (expression_statement "CloseBlob();" (call_expression "CloseBlob()" identifier (argument_list "()" ( ))) ;)) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_002c144e;" goto statement_identifier ;) })))
(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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 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 ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (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 ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression LIT << IDENT) | (binary_expression LIT >> (binary_expression LIT - IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT - LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content escape_sequence ") , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) * LIT)) ))))) == IDENT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT)) ))) )) (break_statement break ;)) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (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 ( ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "int FUN_002c0ca0(int param_1,int param_2)\n\n{\n  double dVar1;\n  int iVar2;\n  byte bVar3;\n  float fVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  int iVar11;\n  byte bVar12;\n  int in_GS_OFFSET;\n  int local_30d4;\n  int local_30c0;\n  int local_3068;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [8192];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2c0ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3328) != 0) {\n    LogMagickEvent();\n  }\n  iVar6 = OpenBlob();\n  if (iVar6 != 0) {\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }\nLAB_002c144e:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }\n                    \n  FUN_002decd0();\nLAB_002c143d:\n  CloseBlob();\n  iVar6 = 1;\n  goto LAB_002c144e;\n}" (primitive_type "int") (function_declarator "FUN_002c0ca0(int param_1,int param_2)" (identifier "FUN_002c0ca0") (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  double dVar1;\n  int iVar2;\n  byte bVar3;\n  float fVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  int iVar11;\n  byte bVar12;\n  int in_GS_OFFSET;\n  int local_30d4;\n  int local_30c0;\n  int local_3068;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [8192];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2c0ca9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }\n  if (*(int *)(param_2 + 0x3328) != 0) {\n    LogMagickEvent();\n  }\n  iVar6 = OpenBlob();\n  if (iVar6 != 0) {\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }\nLAB_002c144e:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }\n                    \n  FUN_002decd0();\nLAB_002c143d:\n  CloseBlob();\n  iVar6 = 1;\n  goto LAB_002c144e;\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "float fVar4;" (primitive_type "float") (identifier "fVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "byte bVar12;" (type_identifier "byte") (identifier "bVar12") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "int local_30d4;" (primitive_type "int") (identifier "local_30d4") (; ";")) (declaration "int local_30c0;" (primitive_type "int") (identifier "local_30c0") (; ";")) (declaration "int local_3068;" (primitive_type "int") (identifier "local_3068") (; ";")) (declaration "undefined1 local_3020 [4096];" (type_identifier "undefined1") (array_declarator "local_3020 [4096]" (identifier "local_3020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 local_2020 [8192];" (type_identifier "undefined1") (array_declarator "local_2020 [8192]" (identifier "local_2020") ([ "[") (number_literal "8192") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x2c0ca9;" (assignment_expression "uStack_14 = 0x2c0ca9" (identifier "uStack_14") (= "=") (number_literal "0x2c0ca9")) (; ";")) (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/txt.c",0x2f0,"WriteTXTImage");\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/txt.c",0x2f0,"WriteTXTImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage")" (identifier "__assert_fail") (argument_list "("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage")" (( "(") (string_literal ""image_info != (const ImageInfo *) NULL"" (" """) (string_content "image_info != (const ImageInfo *) NULL") (" """)) (, ",") (string_literal ""coders/txt.c"" (" """) (string_content "coders/txt.c") (" """)) (, ",") (number_literal "0x2f0") (, ",") (string_literal ""WriteTXTImage"" (" """) (string_content "WriteTXTImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");\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/txt.c",0x2f1,\n                  "WriteTXTImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage")" (identifier "__assert_fail") (argument_list "("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,\n                  "WriteTXTImage")" (( "(") (string_literal ""image_info->signature == MagickCoreSignature"" (" """) (string_content "image_info->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/txt.c"" (" """) (string_content "coders/txt.c") (" """)) (, ",") (number_literal "0x2f1") (, ",") (string_literal ""WriteTXTImage"" (" """) (string_content "WriteTXTImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\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("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");\n  }" ({ "{") (expression_statement "__assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");" (call_expression "__assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage")" (identifier "__assert_fail") (argument_list "("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage")" (( "(") (string_literal ""image != (Image *) NULL"" (" """) (string_content "image != (Image *) NULL") (" """)) (, ",") (string_literal ""coders/txt.c"" (" """) (string_content "coders/txt.c") (" """)) (, ",") (number_literal "0x2f2") (, ",") (string_literal ""WriteTXTImage"" (" """) (string_content "WriteTXTImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_2 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x3344) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_2 + 0x3344) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x3344)" (* "*") (cast_expression "(int *)(param_2 + 0x3344)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x3344)" (( "(") (binary_expression "param_2 + 0x3344" (identifier "param_2") (+ "+") (number_literal "0x3344")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");\n  }" ({ "{") (expression_statement "__assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage")" (identifier "__assert_fail") (argument_list "("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage")" (( "(") (string_literal ""image->signature == MagickCoreSignature"" (" """) (string_content "image->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/txt.c"" (" """) (string_content "coders/txt.c") (" """)) (, ",") (number_literal "0x2f3") (, ",") (string_literal ""WriteTXTImage"" (" """) (string_content "WriteTXTImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_2 + 0x3328) != 0) {\n    LogMagickEvent();\n  }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x3328) != 0)" (( "(") (binary_expression "*(int *)(param_2 + 0x3328) != 0" (pointer_expression "*(int *)(param_2 + 0x3328)" (* "*") (cast_expression "(int *)(param_2 + 0x3328)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x3328)" (( "(") (binary_expression "param_2 + 0x3328" (identifier "param_2") (+ "+") (number_literal "0x3328")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    LogMagickEvent();\n  }" ({ "{") (expression_statement "LogMagickEvent();" (call_expression "LogMagickEvent()" (identifier "LogMagickEvent") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = OpenBlob();" (assignment_expression "iVar6 = OpenBlob()" (identifier "iVar6") (= "=") (call_expression "OpenBlob()" (identifier "OpenBlob") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    GetImageListLength();\n    do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );\n  }" ({ "{") (expression_statement "GetImageListLength();" (call_expression "GetImageListLength()" (identifier "GetImageListLength") (argument_list "()" (( "(") () ")"))) (; ";")) (do_statement "do {\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    } while( true );" (do "do") (compound_statement "{\n      CommandOptionToMnemonic();\n      CopyMagickString();\n      LocaleLower();\n      uVar7 = GetImageQuantumDepth();\n      *(undefined4 *)(param_2 + 0x20) = uVar7;\n      if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }\n      iVar6 = GetImageOption();\n      if (iVar6 != 0) {\n        ParseCommandOption();\n      }\n      iVar6 = LocaleCompare();\n      if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }\n      GetPixelInfo();\n      if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }\n      iVar6 = GetNextImageInList();\n      if (iVar6 == 0) goto LAB_002c143d;\n      param_2 = SyncNextImageInList();\n      iVar6 = SetImageProgress();\n      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;\n    }" ({ "{") (expression_statement "CommandOptionToMnemonic();" (call_expression "CommandOptionToMnemonic()" (identifier "CommandOptionToMnemonic") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "CopyMagickString();" (call_expression "CopyMagickString()" (identifier "CopyMagickString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "LocaleLower();" (call_expression "LocaleLower()" (identifier "LocaleLower") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar7 = GetImageQuantumDepth();" (assignment_expression "uVar7 = GetImageQuantumDepth()" (identifier "uVar7") (= "=") (call_expression "GetImageQuantumDepth()" (identifier "GetImageQuantumDepth") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_2 + 0x20) = uVar7;" (assignment_expression "*(undefined4 *)(param_2 + 0x20) = uVar7" (pointer_expression "*(undefined4 *)(param_2 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (*(int *)(param_2 + 0x294) != 0) {\n        ConcatenateMagickString();\n      }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x294) != 0)" (( "(") (binary_expression "*(int *)(param_2 + 0x294) != 0" (pointer_expression "*(int *)(param_2 + 0x294)" (* "*") (cast_expression "(int *)(param_2 + 0x294)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x294)" (( "(") (binary_expression "param_2 + 0x294" (identifier "param_2") (+ "+") (number_literal "0x294")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        ConcatenateMagickString();\n      }" ({ "{") (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" (identifier "ConcatenateMagickString") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = GetImageOption();" (assignment_expression "iVar6 = GetImageOption()" (identifier "iVar6") (= "=") (call_expression "GetImageOption()" (identifier "GetImageOption") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n        ParseCommandOption();\n      }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        ParseCommandOption();\n      }" ({ "{") (expression_statement "ParseCommandOption();" (call_expression "ParseCommandOption()" (identifier "ParseCommandOption") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = LocaleCompare();" (assignment_expression "iVar6 = LocaleCompare()" (identifier "iVar6") (= "=") (call_expression "LocaleCompare()" (identifier "LocaleCompare") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar8 = *(uint *)(param_2 + 0x20);\n        if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }\n        FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);\n        WriteBlobString();\n      }" ({ "{") (expression_statement "uVar8 = *(uint *)(param_2 + 0x20);" (assignment_expression "uVar8 = *(uint *)(param_2 + 0x20)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(param_2 + 0x20)" (* "*") (cast_expression "(uint *)(param_2 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (uVar8 == 0) {\n          dVar1 = 0.0;\n        }\n        else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }" (if "if") (parenthesized_expression "(uVar8 == 0)" (( "(") (binary_expression "uVar8 == 0" (identifier "uVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          dVar1 = 0.0;\n        }" ({ "{") (expression_statement "dVar1 = 0.0;" (assignment_expression "dVar1 = 0.0" (identifier "dVar1") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }" (else "else") (compound_statement "{\n          if (0x40 < uVar8) {\n            uVar8 = 0;\n          }\n          bVar12 = (byte)(uVar8 - 1);\n          bVar3 = bVar12 & 0x1f;\n          uVar9 = 2 << (bVar12 & 0x1f);\n          uVar10 = uVar9;\n          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;\n          if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }\n          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);\n          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);\n          if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }\n          dVar1 = (double)fVar4;\n        }" ({ "{") (if_statement "if (0x40 < uVar8) {\n            uVar8 = 0;\n          }" (if "if") (parenthesized_expression "(0x40 < uVar8)" (( "(") (binary_expression "0x40 < uVar8" (number_literal "0x40") (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n            uVar8 = 0;\n          }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "bVar12 = (byte)(uVar8 - 1);" (assignment_expression "bVar12 = (byte)(uVar8 - 1)" (identifier "bVar12") (= "=") (call_expression "(byte)(uVar8 - 1)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar8 - 1)" (( "(") (binary_expression "uVar8 - 1" (identifier "uVar8") (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "bVar3 = bVar12 & 0x1f;" (assignment_expression "bVar3 = bVar12 & 0x1f" (identifier "bVar3") (= "=") (binary_expression "bVar12 & 0x1f" (identifier "bVar12") (& "&") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar9 = 2 << (bVar12 & 0x1f);" (assignment_expression "uVar9 = 2 << (bVar12 & 0x1f)" (identifier "uVar9") (= "=") (binary_expression "2 << (bVar12 & 0x1f)" (number_literal "2") (<< "<<") (parenthesized_expression "(bVar12 & 0x1f)" (( "(") (binary_expression "bVar12 & 0x1f" (identifier "bVar12") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar10 = uVar9;" (assignment_expression "uVar10 = uVar9" (identifier "uVar10") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;" (assignment_expression "uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3" (identifier "uVar5") (= "=") (binary_expression "0 << bVar3 | 2U >> 0x20 - bVar3" (binary_expression "0 << bVar3" (number_literal "0") (<< "<<") (identifier "bVar3")) (| "|") (binary_expression "2U >> 0x20 - bVar3" (number_literal "2U") (>> ">>") (binary_expression "0x20 - bVar3" (number_literal "0x20") (- "-") (identifier "bVar3"))))) (; ";")) (if_statement "if ((uVar8 - 1 & 0x20) != 0) {\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }" (if "if") (parenthesized_expression "((uVar8 - 1 & 0x20) != 0)" (( "(") (binary_expression "(uVar8 - 1 & 0x20) != 0" (parenthesized_expression "(uVar8 - 1 & 0x20)" (( "(") (binary_expression "uVar8 - 1 & 0x20" (binary_expression "uVar8 - 1" (identifier "uVar8") (- "-") (number_literal "1")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar10 = 0;\n            uVar5 = uVar9;\n          }" ({ "{") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar5 = uVar9;" (assignment_expression "uVar5 = uVar9" (identifier "uVar5") (= "=") (identifier "uVar9")) (; ";")) (} "}"))) (expression_statement "iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);" (assignment_expression "iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0)" (identifier "iVar6") (= "=") (binary_expression "(uVar5 - 1) + (uint)(uVar10 != 0)" (parenthesized_expression "(uVar5 - 1)" (( "(") (binary_expression "uVar5 - 1" (identifier "uVar5") (- "-") (number_literal "1")) () ")")) (+ "+") (call_expression "(uint)(uVar10 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")"))))) (; ";")) (expression_statement "fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);" (assignment_expression "fVar4 = (float)CONCAT44(iVar6,uVar10 - 1)" (identifier "fVar4") (= "=") (cast_expression "(float)CONCAT44(iVar6,uVar10 - 1)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "CONCAT44(iVar6,uVar10 - 1)" (identifier "CONCAT44") (argument_list "(iVar6,uVar10 - 1)" (( "(") (identifier "iVar6") (, ",") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) () ")"))))) (; ";")) (if_statement "if (iVar6 < 0) {\n            fVar4 = fVar4 + DAT_002df8b0;\n          }" (if "if") (parenthesized_expression "(iVar6 < 0)" (( "(") (binary_expression "iVar6 < 0" (identifier "iVar6") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            fVar4 = fVar4 + DAT_002df8b0;\n          }" ({ "{") (expression_statement "fVar4 = fVar4 + DAT_002df8b0;" (assignment_expression "fVar4 = fVar4 + DAT_002df8b0" (identifier "fVar4") (= "=") (binary_expression "fVar4 + DAT_002df8b0" (identifier "fVar4") (+ "+") (identifier "DAT_002df8b0"))) (; ";")) (} "}"))) (expression_statement "dVar1 = (double)fVar4;" (assignment_expression "dVar1 = (double)fVar4" (identifier "dVar1") (= "=") (cast_expression "(double)fVar4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar4"))) (; ";")) (} "}")))) (expression_statement "FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020);" (call_expression "FormatLocaleString(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020)" (identifier "FormatLocaleString") (argument_list "(local_3020,0x1000,\n                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",\n                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1\n                           ,local_2020)" (( "(") (identifier "local_3020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n"" (" """) (string_content "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s") (escape_sequence "\n") (" """)) (, ",") (cast_expression "(double)*(uint *)(param_2 + 0x18)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(uint *)(param_2 + 0x18)" (* "*") (cast_expression "(uint *)(param_2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) (, ",") (cast_expression "(double)*(uint *)(param_2 + 0x1c)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(uint *)(param_2 + 0x1c)" (* "*") (cast_expression "(uint *)(param_2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (, ",") (identifier "dVar1") (, ",") (identifier "local_2020") () ")"))) (; ";")) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" (identifier "WriteBlobString") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "GetPixelInfo();" (call_expression "GetPixelInfo()" (identifier "GetPixelInfo") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (0 < *(int *)(param_2 + 0x1c)) {\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }" (if "if") (parenthesized_expression "(0 < *(int *)(param_2 + 0x1c))" (( "(") (binary_expression "0 < *(int *)(param_2 + 0x1c)" (number_literal "0") (< "<") (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")) () ")"))))) () ")")) (compound_statement "{\n        local_30c0 = 0;\n        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }\n      }" ({ "{") (expression_statement "local_30c0 = 0;" (assignment_expression "local_30c0 = 0" (identifier "local_30c0") (= "=") (number_literal "0")) (; ";")) (while_statement "while (iVar6 = GetVirtualPixels(), iVar6 != 0) {\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }" (while "while") (parenthesized_expression "(iVar6 = GetVirtualPixels(), iVar6 != 0)" (( "(") (comma_expression "iVar6 = GetVirtualPixels(), iVar6 != 0" (assignment_expression "iVar6 = GetVirtualPixels()" (identifier "iVar6") (= "=") (call_expression "GetVirtualPixels()" (identifier "GetVirtualPixels") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n          if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }\nLAB_002c12ab:\n          iVar6 = SetImageProgress();\n          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;\n        }" ({ "{") (if_statement "if (0 < *(int *)(param_2 + 0x18)) {\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }" (if "if") (parenthesized_expression "(0 < *(int *)(param_2 + 0x18))" (( "(") (binary_expression "0 < *(int *)(param_2 + 0x18)" (number_literal "0") (< "<") (pointer_expression "*(int *)(param_2 + 0x18)" (* "*") (cast_expression "(int *)(param_2 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n            local_30d4 = 0;\n            do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));\n          }" ({ "{") (expression_statement "local_30d4 = 0;" (assignment_expression "local_30d4 = 0" (identifier "local_30d4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            } while (local_30d4 < *(int *)(param_2 + 0x18));" (do "do") (compound_statement "{\n              while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }\n              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }\n              local_30d4 = local_30d4 + 1;\n              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n            }" ({ "{") (while_statement "while( true ) {\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                ResetMagickMemory();\n                iVar2 = *(int *)(param_2 + 4);\n                local_3068 = *(int *)(param_2 + 0x294);\n                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }\n                iVar11 = LocaleCompare();\n                if (iVar11 == 0) break;\n                FormatLocaleString();\n                WriteBlobString();\n                CopyMagickString();\n                if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }\n                ConcatenateMagickString();\n                WriteBlobString();\n                WriteBlobString();\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                QueryColorname();\n                WriteBlobString();\n                WriteBlobString();\n                local_30d4 = local_30d4 + 1;\n                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;\n                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;\n              }" ({ "{") (expression_statement "ResetMagickMemory();" (call_expression "ResetMagickMemory()" (identifier "ResetMagickMemory") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)(param_2 + 4);" (assignment_expression "iVar2 = *(int *)(param_2 + 4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_2 + 4)" (* "*") (cast_expression "(int *)(param_2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_3068 = *(int *)(param_2 + 0x294);" (assignment_expression "local_3068 = *(int *)(param_2 + 0x294)" (identifier "local_3068") (= "=") (pointer_expression "*(int *)(param_2 + 0x294)" (* "*") (cast_expression "(int *)(param_2 + 0x294)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x294)" (( "(") (binary_expression "param_2 + 0x294" (identifier "param_2") (+ "+") (number_literal "0x294")) () ")"))))) (; ";")) (if_statement "if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {\n                  local_3068 = 4;\n                }" (if "if") (parenthesized_expression "((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0))" (( "(") (binary_expression "(iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)" (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0" (pointer_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" (* "*") (cast_expression "(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x2a8) + 0x34)" (( "(") (binary_expression "*(int *)(param_2 + 0x2a8) + 0x34" (pointer_expression "*(int *)(param_2 + 0x2a8)" (* "*") (cast_expression "(int *)(param_2 + 0x2a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x2a8)" (( "(") (binary_expression "param_2 + 0x2a8" (identifier "param_2") (+ "+") (number_literal "0x2a8")) () ")")))) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  local_3068 = 4;\n                }" ({ "{") (expression_statement "local_3068 = 4;" (assignment_expression "local_3068 = 4" (identifier "local_3068") (= "=") (number_literal "4")) (; ";")) (} "}"))) (expression_statement "iVar11 = LocaleCompare();" (assignment_expression "iVar11 = LocaleCompare()" (identifier "iVar11") (= "=") (call_expression "LocaleCompare()" (identifier "LocaleCompare") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" (identifier "WriteBlobString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "CopyMagickString();" (call_expression "CopyMagickString()" (identifier "CopyMagickString") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((iVar2 == 0x21) || (iVar2 == 3)) {\n                  ConcatenateColorComponent();\n                }\n                else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" (if "if") (parenthesized_expression "((iVar2 == 0x21) || (iVar2 == 3))" (( "(") (binary_expression "(iVar2 == 0x21) || (iVar2 == 3)" (parenthesized_expression "(iVar2 == 0x21)" (( "(") (binary_expression "iVar2 == 0x21" (identifier "iVar2") (== "==") (number_literal "0x21")) () ")")) (|| "||") (parenthesized_expression "(iVar2 == 3)" (( "(") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3")) () ")"))) () ")")) (compound_statement "{\n                  ConcatenateColorComponent();\n                }" ({ "{") (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" (identifier "ConcatenateColorComponent") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" (else "else") (compound_statement "{\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" ({ "{") (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" (identifier "ConcatenateColorComponent") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" (identifier "ConcatenateMagickString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" (identifier "ConcatenateColorComponent") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" (identifier "ConcatenateMagickString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" (identifier "ConcatenateColorComponent") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (if_statement "if (iVar2 == 2) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" (if "if") (parenthesized_expression "(iVar2 == 2)" (( "(") (binary_expression "iVar2 == 2" (identifier "iVar2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" ({ "{") (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" (identifier "ConcatenateMagickString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" (identifier "ConcatenateColorComponent") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_3068 != 0) {\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" (if "if") (parenthesized_expression "(local_3068 != 0)" (( "(") (binary_expression "local_3068 != 0" (identifier "local_3068") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  ConcatenateMagickString();\n                  ConcatenateColorComponent();\n                }" ({ "{") (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" (identifier "ConcatenateMagickString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ConcatenateColorComponent();" (call_expression "ConcatenateColorComponent()" (identifier "ConcatenateColorComponent") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ConcatenateMagickString();" (call_expression "ConcatenateMagickString()" (identifier "ConcatenateMagickString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" (identifier "WriteBlobString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" (identifier "WriteBlobString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "GetColorTuple();" (call_expression "GetColorTuple()" (identifier "GetColorTuple") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" (identifier "WriteBlobString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" (identifier "WriteBlobString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "QueryColorname();" (call_expression "QueryColorname()" (identifier "QueryColorname") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" (identifier "WriteBlobString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" (identifier "WriteBlobString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_30d4 = local_30d4 + 1;" (assignment_expression "local_30d4 = local_30d4 + 1" (identifier "local_30d4") (= "=") (binary_expression "local_30d4 + 1" (identifier "local_30d4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;" (assignment_expression "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8" (identifier "iVar6") (= "=") (binary_expression "iVar6 + *(int *)(param_2 + 0x298) * 8" (identifier "iVar6") (+ "+") (binary_expression "*(int *)(param_2 + 0x298) * 8" (pointer_expression "*(int *)(param_2 + 0x298)" (* "*") (cast_expression "(int *)(param_2 + 0x298)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x298)" (( "(") (binary_expression "param_2 + 0x298" (identifier "param_2") (+ "+") (number_literal "0x298")) () ")")))) (* "*") (number_literal "8")))) (; ";")) (if_statement "if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x18) <= local_30d4)" (( "(") (binary_expression "*(int *)(param_2 + 0x18) <= local_30d4" (pointer_expression "*(int *)(param_2 + 0x18)" (* "*") (cast_expression "(int *)(param_2 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (<= "<=") (identifier "local_30d4")) () ")")) (goto_statement "goto LAB_002c12ab;" (goto "goto") (statement_identifier "LAB_002c12ab") (; ";"))) (} "}"))) (if_statement "if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)) {\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }" (if "if") (parenthesized_expression "((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8))" (( "(") (binary_expression "(*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||\n                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)" (parenthesized_expression "(*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0" (pointer_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" (* "*") (cast_expression "(int *)(*(int *)(param_2 + 0x2a8) + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x2a8) + 0x34)" (( "(") (binary_expression "*(int *)(param_2 + 0x2a8) + 0x34" (pointer_expression "*(int *)(param_2 + 0x2a8)" (* "*") (cast_expression "(int *)(param_2 + 0x2a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x2a8)" (( "(") (binary_expression "param_2 + 0x2a8" (identifier "param_2") (+ "+") (number_literal "0x2a8")) () ")")))) (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8)" (( "(") (binary_expression "(float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==\n                  DAT_002df8a8" (cast_expression "(float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" (* "*") (cast_expression "(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8)" (( "(") (binary_expression "iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8" (identifier "iVar6") (+ "+") (binary_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8" (pointer_expression "*(int *)(*(int *)(param_2 + 0x2a8) + 0x38)" (* "*") (cast_expression "(int *)(*(int *)(param_2 + 0x2a8) + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x2a8) + 0x38)" (( "(") (binary_expression "*(int *)(param_2 + 0x2a8) + 0x38" (pointer_expression "*(int *)(param_2 + 0x2a8)" (* "*") (cast_expression "(int *)(param_2 + 0x2a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x2a8)" (( "(") (binary_expression "param_2 + 0x2a8" (identifier "param_2") (+ "+") (number_literal "0x2a8")) () ")")))) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "8"))) () ")"))))) (== "==") (identifier "DAT_002df8a8")) () ")"))) () ")")) (compound_statement "{\n                GetColorTuple();\n                FormatLocaleString();\n                WriteBlobString();\n                WriteBlobString();\n                WriteBlobString();\n              }" ({ "{") (expression_statement "GetColorTuple();" (call_expression "GetColorTuple()" (identifier "GetColorTuple") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" (identifier "WriteBlobString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" (identifier "WriteBlobString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "WriteBlobString();" (call_expression "WriteBlobString()" (identifier "WriteBlobString") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_30d4 = local_30d4 + 1;" (assignment_expression "local_30d4 = local_30d4 + 1" (identifier "local_30d4") (= "=") (binary_expression "local_30d4 + 1" (identifier "local_30d4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;" (assignment_expression "iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8" (identifier "iVar6") (= "=") (binary_expression "iVar6 + *(int *)(param_2 + 0x298) * 8" (identifier "iVar6") (+ "+") (binary_expression "*(int *)(param_2 + 0x298) * 8" (pointer_expression "*(int *)(param_2 + 0x298)" (* "*") (cast_expression "(int *)(param_2 + 0x298)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x298)" (( "(") (binary_expression "param_2 + 0x298" (identifier "param_2") (+ "+") (number_literal "0x298")) () ")")))) (* "*") (number_literal "8")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_30d4 < *(int *)(param_2 + 0x18))" (( "(") (binary_expression "local_30d4 < *(int *)(param_2 + 0x18)" (identifier "local_30d4") (< "<") (pointer_expression "*(int *)(param_2 + 0x18)" (* "*") (cast_expression "(int *)(param_2 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_002c12ab:\n          iVar6 = SetImageProgress();" (statement_identifier "LAB_002c12ab") (: ":") (expression_statement "iVar6 = SetImageProgress();" (assignment_expression "iVar6 = SetImageProgress()" (identifier "iVar6") (= "=") (call_expression "SetImageProgress()" (identifier "SetImageProgress") (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))\n          break;" (if "if") (parenthesized_expression "((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))" (( "(") (binary_expression "(iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0)" (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0)" (( "(") (comma_expression "local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0" (assignment_expression "local_30c0 = local_30c0 + 1" (identifier "local_30c0") (= "=") (binary_expression "local_30c0 + 1" (identifier "local_30c0") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*(int *)(param_2 + 0x1c) <= local_30c0" (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")) () ")")))) (<= "<=") (identifier "local_30c0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (} "}"))) (expression_statement "iVar6 = GetNextImageInList();" (assignment_expression "iVar6 = GetNextImageInList()" (identifier "iVar6") (= "=") (call_expression "GetNextImageInList()" (identifier "GetNextImageInList") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) goto LAB_002c143d;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c143d;" (goto "goto") (statement_identifier "LAB_002c143d") (; ";"))) (expression_statement "param_2 = SyncNextImageInList();" (assignment_expression "param_2 = SyncNextImageInList()" (identifier "param_2") (= "=") (call_expression "SyncNextImageInList()" (identifier "SyncNextImageInList") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar6 = SetImageProgress();" (assignment_expression "iVar6 = SetImageProgress()" (identifier "iVar6") (= "=") (call_expression "SetImageProgress()" (identifier "SetImageProgress") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;" (if "if") (parenthesized_expression "((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0))" (( "(") (binary_expression "(iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)" (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_002c143d;" (goto "goto") (statement_identifier "LAB_002c143d") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_002c144e:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\n  }" (statement_identifier "LAB_002c144e") (: ":") (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return iVar6;\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 iVar6;\n  }" ({ "{") (return_statement "return iVar6;" (return "return") (identifier "iVar6") (; ";")) (} "}")))) (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" (identifier "FUN_002decd0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_002c143d:\n  CloseBlob();" (statement_identifier "LAB_002c143d") (: ":") (expression_statement "CloseBlob();" (call_expression "CloseBlob()" (identifier "CloseBlob") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" (identifier "iVar6") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_002c144e;" (goto "goto") (statement_identifier "LAB_002c144e") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* 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 */
/* WARNING: Enum "ComplianceType": Some values do not have unique names */

type_1 function_1(type_2 *var_2,type_3 *var_4,type_4 *exception)

{
  double dVar1;
  int var_53;
  type_5 *pPVar3;
  type_6 var_23;
  float var_27;
  type_7 var_24;
  type_1 var_8;
  size_t sVar8;
  char *var_17;
  size_t sVar10;
  int var_20;
  type_7 var_21;
  type_7 uVar13;
  type_7 var_25;
  type_8 *var_34;
  type_3 *var_49;
  type_6 var_22;
  int var_1;
  bool bVar18;
  int var_42;
  int var_45;
  type_9 local_30bc;
  type_7 var_46;
  int var_47;
  type_7 var_51;
  int var_52;
  type_10 pixel;
  char buffer [4096];
  char colorspace [4096];
  char tuple [4096];
  
  var_53 = *(int *)(var_1 + 0x14);
  if (var_2 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,
                  "WriteTXTImage");
  }
  if (var_4 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");
  }
  if (var_4->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");
  }
  if (var_4->debug != var_5) {
    var_6(TraceEvent,"coders/txt.c","WriteTXTImage",0x2f5,"%s",var_4->filename);
  }
  var_8 = var_7(var_2,var_4,WriteBlobMode,exception);
  if (var_8 != var_5) {
    sVar8 = var_9(var_4);
    var_51 = 0;
    var_52 = 0;
    do {
      var_17 = var_10(MagickColorspaceOptions,var_4->colorspace);
      var_11(colorspace,var_17,0x1000);
      var_12(colorspace);
      sVar10 = var_13(var_4,MagickTrue);
      var_4->depth = sVar10;
      if (var_4->alpha_trait != var_14) {
        var_15(colorspace,"a",0x1000);
      }
      var_17 = var_16(var_2,"txt:compliance");
      local_30bc = NoCompliance;
      if (var_17 != (char *)0x0) {
        local_30bc = var_18(MagickComplianceOptions,var_5,var_17);
      }
      var_20 = var_19(var_2->magick,"SPARSE-COLOR");
      if (var_20 != 0) {
        var_21 = var_4->depth;
        if (var_21 == 0) {
          dVar1 = 0.0;
        }
        else {
          if (0x40 < var_21) {
            var_21 = 0;
          }
          var_22 = (type_6)(var_21 - 1);
          var_23 = var_22 & 0x1f;
          uVar13 = 2 << (var_22 & 0x1f);
          var_25 = uVar13;
          var_24 = 0 << var_23 | 2U >> 0x20 - var_23;
          if ((var_21 - 1 & 0x20) != 0) {
            var_25 = 0;
            var_24 = uVar13;
          }
          var_20 = (var_24 - 1) + (type_7)(var_25 != 0);
          var_27 = (float)var_26(var_20,var_25 - 1);
          if (var_20 < 0) {
            var_27 = var_27 + var_28;
          }
          dVar1 = (double)var_27;
        }
        var_29(buffer,0x1000,"# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",
                           (double)var_4->columns,var_30((double)var_4->rows,0),
                           (int)((type_11)(double)var_4->rows >> 0x20),var_30(dVar1,0),
                           (int)((type_11)dVar1 >> 0x20),colorspace);
        var_31(var_4,buffer);
      }
      var_32(var_4,&pixel);
      if (0 < (int)var_4->rows) {
        var_46 = 0;
        var_47 = 0;
        var_45 = 0;
        do {
          var_34 = var_33(var_4,0,var_45,var_4->columns,1,exception);
          if (var_34 == (type_8 *)0x0) break;
          if (0 < (int)var_4->columns) {
            var_42 = 0;
            do {
              while( true ) {
                var_35(&pixel,0,0x50);
                pixel.storage_class = var_4->storage_class;
                pixel.alpha = (type_12)var_43;
                pixel.fuzz = var_4->fuzz;
                pixel.colorspace = var_4->colorspace;
                pixel.depth = var_4->depth;
                pixel.alpha_trait = var_4->alpha_trait;
                if (var_34 != (type_8 *)0x0) {
                  pPVar3 = var_4->channel_map;
                  pixel.red = var_34[pPVar3->offset];
                  pixel.green = var_34[pPVar3[1].offset];
                  pixel.blue = var_34[pPVar3[2].offset];
                  if (pPVar3[3].traits != var_14) {
                    pixel.black = var_34[pPVar3[3].offset];
                  }
                  if (pPVar3[4].traits != var_14) {
                    pixel.alpha = var_34[pPVar3[4].offset];
                    pixel.alpha_trait = BlendPixelTrait;
                  }
                  if (pPVar3[5].traits != var_14) {
                    pixel.index = var_34[pPVar3[5].offset];
                  }
                }
                var_20 = var_19(var_2->magick,"SPARSE-COLOR");
                if (var_20 == 0) break;
                var_29(buffer,0x1000,"%.20g,%.20g: ",var_30((double)var_42,0),
                                   (int)((type_11)(double)var_42 >> 0x20),
                                   var_30((double)var_45,0),
                                   (int)((type_11)(double)var_45 >> 0x20));
                var_31(var_4,buffer);
                var_11(tuple,"(",0x1000);
                if ((pixel.colorspace == var_36) ||
                   (pixel.colorspace == var_37)) {
                  var_38(&pixel,CyanPixelChannel,local_30bc,tuple);
                }
                else {
                  var_38(&pixel,CyanPixelChannel,local_30bc,tuple);
                  var_15(tuple,",",0x1000);
                  var_38(&pixel,CbPixelChannel,local_30bc,tuple);
                  var_15(tuple,",",0x1000);
                  var_38(&pixel,BluePixelChannel,local_30bc,tuple);
                }
                if (pixel.colorspace == var_39) {
                  var_15(tuple,",",0x1000);
                  var_38(&pixel,BlackPixelChannel,local_30bc,tuple);
                }
                if (pixel.alpha_trait != var_14) {
                  var_15(tuple,",",0x1000);
                  var_38(&pixel,AlphaPixelChannel,local_30bc,tuple);
                }
                var_15(tuple,")",0x1000);
                var_31(var_4,tuple);
                var_31(var_4,"  ");
                var_40(&pixel,MagickTrue,tuple);
                var_29(buffer,0x1000,"%s",tuple);
                var_31(var_4,buffer);
                var_31(var_4,"  ");
                var_41(var_4,&pixel,CSSCompliance,tuple,exception);
                var_31(var_4,tuple);
                var_31(var_4,"\n");
                var_42 = var_42 + 1;
                var_34 = var_34 + var_4->number_channels;
                if ((int)var_4->columns <= var_42) goto LAB_002c12ab;
              }
              if ((var_4->channel_map[4].traits == var_14) ||
                 ((float)var_34[var_4->channel_map[4].offset] == var_43)) {
                var_40(&pixel,var_5,tuple);
                var_29(buffer,0x1000,"%.20g,%.20g,",var_30((double)var_42,0),
                                   (int)((type_11)(double)var_42 >> 0x20),
                                   var_30((double)var_45,0),
                                   (int)((type_11)(double)var_45 >> 0x20));
                var_31(var_4,buffer);
                var_31(var_4,tuple);
                var_31(var_4," ");
              }
              var_42 = var_42 + 1;
              var_34 = var_34 + var_4->number_channels;
            } while (var_42 < (int)var_4->columns);
          }
LAB_002c12ab:
          var_8 = var_44(var_4,"Save/Image",var_26(var_47,var_46),
                                   (type_11)var_4->rows);
          if (var_8 == var_5) break;
          var_45 = var_45 + 1;
          bVar18 = 0xfffffffe < var_46;
          var_46 = var_46 + 1;
          var_47 = var_47 + (type_7)bVar18;
        } while (var_45 < (int)var_4->rows);
      }
      var_49 = var_48(var_4);
      if (var_49 == (type_3 *)0x0) goto LAB_002c143d;
      var_4 = var_50(var_4);
      bVar18 = 0xfffffffe < var_51;
      var_8 = var_44(var_4,"Save/Images",var_26(var_52,var_51),(type_11)sVar8)
      ;
      if ((var_8 == var_5) ||
         (var_51 = var_51 + 1, var_52 = var_52 + (type_7)bVar18,
         var_2->adjoin == var_5)) goto LAB_002c143d;
    } while( true );
  }
LAB_002c144e:
  if (var_53 == *(int *)(var_1 + 0x14)) {
    return var_8;
  }
                    /* WARNING: Subroutine does not return */
  var_54();
LAB_002c143d:
  var_55(var_4);
  var_8 = MagickTrue;
  goto LAB_002c144e;
}


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

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

int MASKED(int param_1,int param_2)

{
  double dVar1;
  int iVar2;
  byte bVar3;
  float fVar4;
  uint uVar5;
  int iVar6;
  undefined4 uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  int iVar11;
  byte bVar12;
  int in_GS_OFFSET;
  int local_30d4;
  int local_30c0;
  int local_3068;
  undefined1 local_3020 [4096];
  undefined1 local_2020 [8192];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x2c0ca9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/txt.c",0x2f0,"WriteTXTImage");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/txt.c",0x2f1,
                  "WriteTXTImage");
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","coders/txt.c",0x2f2,"WriteTXTImage");
  }
  if (*(int *)(param_2 + 0x3344) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","coders/txt.c",0x2f3,"WriteTXTImage");
  }
  if (*(int *)(param_2 + 0x3328) != 0) {
    LogMagickEvent();
  }
  iVar6 = OpenBlob();
  if (iVar6 != 0) {
    GetImageListLength();
    do {
      CommandOptionToMnemonic();
      CopyMagickString();
      LocaleLower();
      uVar7 = GetImageQuantumDepth();
      *(undefined4 *)(param_2 + 0x20) = uVar7;
      if (*(int *)(param_2 + 0x294) != 0) {
        ConcatenateMagickString();
      }
      iVar6 = GetImageOption();
      if (iVar6 != 0) {
        ParseCommandOption();
      }
      iVar6 = LocaleCompare();
      if (iVar6 != 0) {
        uVar8 = *(uint *)(param_2 + 0x20);
        if (uVar8 == 0) {
          dVar1 = 0.0;
        }
        else {
          if (0x40 < uVar8) {
            uVar8 = 0;
          }
          bVar12 = (byte)(uVar8 - 1);
          bVar3 = bVar12 & 0x1f;
          uVar9 = 2 << (bVar12 & 0x1f);
          uVar10 = uVar9;
          uVar5 = 0 << bVar3 | 2U >> 0x20 - bVar3;
          if ((uVar8 - 1 & 0x20) != 0) {
            uVar10 = 0;
            uVar5 = uVar9;
          }
          iVar6 = (uVar5 - 1) + (uint)(uVar10 != 0);
          fVar4 = (float)CONCAT44(iVar6,uVar10 - 1);
          if (iVar6 < 0) {
            fVar4 = fVar4 + DAT_002df8b0;
          }
          dVar1 = (double)fVar4;
        }
        FormatLocaleString(local_3020,0x1000,
                           "# ImageMagick pixel enumeration: %.20g,%.20g,%.20g,%s\n",
                           (double)*(uint *)(param_2 + 0x18),(double)*(uint *)(param_2 + 0x1c),dVar1
                           ,local_2020);
        WriteBlobString();
      }
      GetPixelInfo();
      if (0 < *(int *)(param_2 + 0x1c)) {
        local_30c0 = 0;
        while (iVar6 = GetVirtualPixels(), iVar6 != 0) {
          if (0 < *(int *)(param_2 + 0x18)) {
            local_30d4 = 0;
            do {
              while( true ) {
                ResetMagickMemory();
                iVar2 = *(int *)(param_2 + 4);
                local_3068 = *(int *)(param_2 + 0x294);
                if ((iVar6 != 0) && (*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) != 0)) {
                  local_3068 = 4;
                }
                iVar11 = LocaleCompare();
                if (iVar11 == 0) break;
                FormatLocaleString();
                WriteBlobString();
                CopyMagickString();
                if ((iVar2 == 0x21) || (iVar2 == 3)) {
                  ConcatenateColorComponent();
                }
                else {
                  ConcatenateColorComponent();
                  ConcatenateMagickString();
                  ConcatenateColorComponent();
                  ConcatenateMagickString();
                  ConcatenateColorComponent();
                }
                if (iVar2 == 2) {
                  ConcatenateMagickString();
                  ConcatenateColorComponent();
                }
                if (local_3068 != 0) {
                  ConcatenateMagickString();
                  ConcatenateColorComponent();
                }
                ConcatenateMagickString();
                WriteBlobString();
                WriteBlobString();
                GetColorTuple();
                FormatLocaleString();
                WriteBlobString();
                WriteBlobString();
                QueryColorname();
                WriteBlobString();
                WriteBlobString();
                local_30d4 = local_30d4 + 1;
                iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;
                if (*(int *)(param_2 + 0x18) <= local_30d4) goto LAB_002c12ab;
              }
              if ((*(int *)(*(int *)(param_2 + 0x2a8) + 0x34) == 0) ||
                 ((float)*(double *)(iVar6 + *(int *)(*(int *)(param_2 + 0x2a8) + 0x38) * 8) ==
                  DAT_002df8a8)) {
                GetColorTuple();
                FormatLocaleString();
                WriteBlobString();
                WriteBlobString();
                WriteBlobString();
              }
              local_30d4 = local_30d4 + 1;
              iVar6 = iVar6 + *(int *)(param_2 + 0x298) * 8;
            } while (local_30d4 < *(int *)(param_2 + 0x18));
          }
LAB_002c12ab:
          iVar6 = SetImageProgress();
          if ((iVar6 == 0) || (local_30c0 = local_30c0 + 1, *(int *)(param_2 + 0x1c) <= local_30c0))
          break;
        }
      }
      iVar6 = GetNextImageInList();
      if (iVar6 == 0) goto LAB_002c143d;
      param_2 = SyncNextImageInList();
      iVar6 = SetImageProgress();
      if ((iVar6 == 0) || (*(int *)(param_1 + 0xc) == 0)) goto LAB_002c143d;
    } while( true );
  }
LAB_002c144e:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return iVar6;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002decd0();
LAB_002c143d:
  CloseBlob();
  iVar6 = 1;
  goto LAB_002c144e;
}

