
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": 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 */
/* DWARF original prototype: void AppendImages._omp_fn.0(anon_struct_64_8_198ab8d1 * param_0) */

void __thiscall AppendImages__omp_fn_0(void *this)

{
  Image *image;
  size_t sVar1;
  CacheView *cache_view;
  long lVar2;
  ssize_t x;
  long lVar3;
  CacheView *cache_view_00;
  ExceptionInfo *exception;
  long lVar4;
  PixelChannelMap *pPVar5;
  int iVar6;
  int iVar7;
  MagickBooleanType MVar8;
  long lVar9;
  Quantum *pQVar10;
  Quantum *pQVar11;
  long lVar12;
  long lVar13;
  long in_FS_OFFSET;
  Quantum QVar14;
  PixelInfo local_98;
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  image = *(Image **)((long)this + 0x18);
  sVar1 = image->rows;
  iVar6 = omp_get_num_threads();
  iVar7 = omp_get_thread_num();
  lVar9 = (long)sVar1 / (long)iVar6;
  lVar12 = (long)sVar1 % (long)iVar6;
  if (iVar7 < lVar12) {
    lVar9 = lVar9 + 1;
    lVar12 = 0;
  }
  lVar12 = iVar7 * lVar9 + lVar12;
  lVar9 = lVar9 + lVar12;
  if (lVar12 < lVar9) {
    cache_view = *(CacheView **)((long)this + 0x30);
    lVar2 = *(long *)((long)this + 0x28);
    x = *(ssize_t *)((long)this + 0x20);
    lVar3 = *(long *)((long)this + 0x10);
    cache_view_00 = *(CacheView **)((long)this + 8);
                    /* WARNING: Load size is inaccurate */
    exception = *this;
    do {
      if (*(int *)((long)this + 0x38) != 0) {
        pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception);
        pQVar11 = QueueCacheViewAuthenticPixels
                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception);
        if ((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)) {
          *(undefined4 *)((long)this + 0x38) = 0;
        }
        else {
          GetPixelInfo(image,&local_98);
          lVar13 = 0;
          if (0 < (long)image->columns) {
            do {
              ResetMagickMemory(&local_98,0,0x58);
              local_98.storage_class = DirectClass;
              local_98.colorspace = sRGBColorspace;
              local_98.depth = 0x10;
              local_98.alpha_trait = UndefinedPixelTrait;
              local_98.alpha = DAT_003f95f8;
              if (image != (Image *)0x0) {
                local_98.storage_class = image->storage_class;
                local_98.colorspace = image->colorspace;
                local_98.fuzz = image->fuzz;
                local_98.depth = image->depth;
                local_98.alpha_trait = image->alpha_trait;
                if (pQVar10 != (Quantum *)0x0) {
                  pPVar5 = image->channel_map;
                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];
                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];
                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];
                  if (pPVar5[3].traits != UndefinedPixelTrait) {
                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];
                  }
                  if (pPVar5[4].traits != UndefinedPixelTrait) {
                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];
                    local_98.alpha_trait = BlendPixelTrait;
                  }
                  if (pPVar5[5].traits != UndefinedPixelTrait) {
                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];
                  }
                }
              }
              lVar4 = *(long *)(lVar3 + 0x360);
              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;
              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;
              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;
              if (*(int *)(lVar4 + 0x34) != 0) {
                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;
              }
              if (*(int *)(lVar4 + 0x44) != 0) {
                QVar14 = _DAT_003fa400;
                if (local_98.alpha_trait != UndefinedPixelTrait) {
                  QVar14 = (Quantum)local_98.alpha;
                }
                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;
              }
              pQVar10 = pQVar10 + image->number_channels;
              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);
              lVar13 = lVar13 + 1;
            } while (lVar13 < (long)image->columns);
          }
          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);
          if (MVar8 == MagickFalse) {
            *(undefined4 *)((long)this + 0x38) = 0;
          }
        }
      }
      lVar12 = lVar12 + 1;
    } while (lVar9 != lVar12);
  }
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
}



/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void FUN_00219cd5(undefined8 *param_1)

{
  undefined4 *puVar1;
  undefined8 uVar2;
  long lVar3;
  undefined8 uVar4;
  long lVar5;
  undefined8 uVar6;
  undefined8 uVar7;
  long lVar8;
  int iVar9;
  int iVar10;
  long lVar11;
  long lVar12;
  long lVar13;
  long lVar14;
  long lVar15;
  long in_FS_OFFSET;
  float fVar16;
  undefined4 local_98;
  undefined4 local_94;
  int local_90;
  undefined8 local_88;
  undefined8 local_80;
  double local_70;
  double local_68;
  double local_60;
  double local_58;
  double local_50;
  double local_48;
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  puVar1 = (undefined4 *)param_1[3];
  lVar14 = *(long *)(puVar1 + 10);
  iVar9 = omp_get_num_threads();
  iVar10 = omp_get_thread_num();
  lVar11 = lVar14 / (long)iVar9;
  lVar14 = lVar14 % (long)iVar9;
  if (iVar10 < lVar14) {
    lVar11 = lVar11 + 1;
    lVar14 = 0;
  }
  lVar14 = iVar10 * lVar11 + lVar14;
  lVar11 = lVar11 + lVar14;
  if (lVar14 < lVar11) {
    uVar2 = param_1[6];
    lVar3 = param_1[5];
    uVar4 = param_1[4];
    lVar5 = param_1[2];
    uVar6 = param_1[1];
    uVar7 = *param_1;
    do {
      if (*(int *)(param_1 + 7) != 0) {
        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);
        lVar13 = QueueCacheViewAuthenticPixels
                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);
        if ((lVar12 == 0) || (lVar13 == 0)) {
          *(undefined4 *)(param_1 + 7) = 0;
        }
        else {
          GetPixelInfo(puVar1,&local_98);
          lVar15 = 0;
          if (0 < *(long *)(puVar1 + 8)) {
            do {
              ResetMagickMemory(&local_98,0,0x58);
              local_98 = 1;
              local_94 = 0x17;
              local_80 = 0x10;
              local_90 = 0;
              local_50 = DAT_003f95f8;
              if (puVar1 != (undefined4 *)0x0) {
                local_98 = *puVar1;
                local_94 = puVar1[1];
                local_88 = *(undefined8 *)(puVar1 + 0xa6);
                local_80 = *(undefined8 *)(puVar1 + 0xc);
                local_90 = puVar1[0xcf];
                if (lVar12 != 0) {
                  lVar8 = *(long *)(puVar1 + 0xd8);
                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);
                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);
                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);
                  if (*(int *)(lVar8 + 0x34) != 0) {
                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);
                  }
                  if (*(int *)(lVar8 + 0x44) != 0) {
                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);
                    local_90 = 4;
                  }
                  if (*(int *)(lVar8 + 0x54) != 0) {
                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);
                  }
                }
              }
              lVar8 = *(long *)(lVar5 + 0x360);
              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;
              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;
              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;
              if (*(int *)(lVar8 + 0x34) != 0) {
                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;
              }
              if (*(int *)(lVar8 + 0x44) != 0) {
                fVar16 = _DAT_003fa400;
                if (local_90 != 0) {
                  fVar16 = (float)local_50;
                }
                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;
              }
              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;
              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;
              lVar15 = lVar15 + 1;
            } while (lVar15 < *(long *)(puVar1 + 8));
          }
          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);
          if (iVar9 == 0) {
            *(undefined4 *)(param_1 + 7) = 0;
          }
        }
      }
      lVar14 = lVar14 + 1;
    } while (lVar11 != lVar14);
  }
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0xb8
MOV R14,RDI
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0xa8],RAX
XOR EAX,EAX
MOV RBX,qword ptr [RDI + 0x18]
MOV RBP,qword ptr [RBX + 0x28]
CALL 0x00149d40
MOVSXD R12,EAX
CALL 0x0014af50
MOVSXD R13,EAX
MOV RAX,RBP
CQO
IDIV R12
MOV RSI,RAX
MOV RCX,RDX
CMP R13,RDX
JL 0x0021a046
IMUL R13,RSI
ADD R13,RCX
LEA RAX,[RSI + R13*0x1]
MOV qword ptr [RSP + 0x10],RAX
CMP R13,RAX
JGE 0x0021a054
MOV RAX,qword ptr [R14 + 0x30]
MOV qword ptr [RSP + 0x28],RAX
MOV RAX,qword ptr [R14 + 0x28]
MOV qword ptr [RSP + 0x30],RAX
MOV RAX,qword ptr [R14 + 0x20]
MOV qword ptr [RSP + 0x38],RAX
MOV R15,qword ptr [R14 + 0x10]
MOV RAX,qword ptr [R14 + 0x8]
MOV qword ptr [RSP + 0x18],RAX
MOV RAX,qword ptr [R14]
MOV qword ptr [RSP + 0x20],RAX
LEA RAX,[RSP + 0x50]
MOV qword ptr [RSP + 0x40],RAX
MOV qword ptr [RSP + 0x8],R14
JMP 0x00219fb5
CMP dword ptr [RAX + 0x54],0x0
JZ 0x00219da5
MOV RAX,qword ptr [RAX + 0x58]
PXOR XMM0,XMM0
CVTSS2SD XMM0,dword ptr [R12 + RAX*0x4]
MOVSD qword ptr [RSP + 0xa0],XMM0
MOV RAX,qword ptr [R15 + 0x360]
MOV RDX,qword ptr [RAX + 0x8]
PXOR XMM2,XMM2
CVTSD2SS XMM2,qword ptr [RSP + 0x78]
MOVSS dword ptr [RBP + RDX*0x4],XMM2
MOV RDX,qword ptr [RAX + 0x18]
PXOR XMM3,XMM3
CVTSD2SS XMM3,qword ptr [RSP + 0x80]
MOVSS dword ptr [RBP + RDX*0x4],XMM3
MOV RDX,qword ptr [RAX + 0x28]
PXOR XMM4,XMM4
CVTSD2SS XMM4,qword ptr [RSP + 0x88]
MOVSS dword ptr [RBP + RDX*0x4],XMM4
CMP dword ptr [RAX + 0x34],0x0
JZ 0x00219e0b
MOV RDX,qword ptr [RAX + 0x38]
PXOR XMM5,XMM5
CVTSD2SS XMM5,qword ptr [RSP + 0x90]
MOVSS dword ptr [RBP + RDX*0x4],XMM5
CMP dword ptr [RAX + 0x44],0x0
JZ 0x00219e37
MOVSS XMM0,dword ptr [0x003fa400]
CMP dword ptr [RSP + 0x58],0x0
JZ 0x00219e2d
PXOR XMM0,XMM0
CVTSD2SS XMM0,qword ptr [RSP + 0x98]
MOV RAX,qword ptr [RAX + 0x48]
MOVSS dword ptr [RBP + RAX*0x4],XMM0
MOV RAX,qword ptr [RBX + 0x340]
LEA R12,[R12 + RAX*0x4]
MOV RAX,qword ptr [R15 + 0x340]
LEA RBP,[RBP + RAX*0x4]
ADD R14,0x1
CMP qword ptr [RBX + 0x20],R14
JLE 0x00219f74
MOV EDX,0x58
MOV ESI,0x0
MOV RDI,R13
CALL 0x0014c770
MOV dword ptr [RSP + 0x50],0x1
MOV dword ptr [RSP + 0x54],0x17
MOV qword ptr [RSP + 0x68],0x10
MOV dword ptr [RSP + 0x58],0x0
MOVSD XMM1,qword ptr [0x003f95f8]
MOVSD qword ptr [RSP + 0x98],XMM1
TEST RBX,RBX
JZ 0x00219da5
MOV EAX,dword ptr [RBX]
MOV dword ptr [RSP + 0x50],EAX
MOV EAX,dword ptr [RBX + 0x4]
MOV dword ptr [RSP + 0x54],EAX
MOVSD XMM0,qword ptr [RBX + 0x298]
MOVSD qword ptr [RSP + 0x60],XMM0
MOV RAX,qword ptr [RBX + 0x30]
MOV qword ptr [RSP + 0x68],RAX
MOV EAX,dword ptr [RBX + 0x33c]
MOV dword ptr [RSP + 0x58],EAX
TEST R12,R12
JZ 0x00219da5
MOV RAX,qword ptr [RBX + 0x360]
MOV RDX,qword ptr [RAX + 0x8]
PXOR XMM0,XMM0
CVTSS2SD XMM0,dword ptr [R12 + RDX*0x4]
MOVSD qword ptr [RSP + 0x78],XMM0
MOV RDX,qword ptr [RAX + 0x18]
PXOR XMM0,XMM0
CVTSS2SD XMM0,dword ptr [R12 + RDX*0x4]
MOVSD qword ptr [RSP + 0x80],XMM0
MOV RDX,qword ptr [RAX + 0x28]
PXOR XMM0,XMM0
CVTSS2SD XMM0,dword ptr [R12 + RDX*0x4]
MOVSD qword ptr [RSP + 0x88],XMM0
CMP dword ptr [RAX + 0x34],0x0
JZ 0x00219f46
MOV RDX,qword ptr [RAX + 0x38]
PXOR XMM0,XMM0
CVTSS2SD XMM0,dword ptr [R12 + RDX*0x4]
MOVSD qword ptr [RSP + 0x90],XMM0
CMP dword ptr [RAX + 0x44],0x0
JZ 0x00219d88
MOV RDX,qword ptr [RAX + 0x48]
PXOR XMM0,XMM0
CVTSS2SD XMM0,dword ptr [R12 + RDX*0x4]
MOVSD qword ptr [RSP + 0x98],XMM0
MOV dword ptr [RSP + 0x58],0x4
JMP 0x00219d88
MOV R13,qword ptr [RSP + 0x48]
MOV RSI,qword ptr [RSP + 0x20]
MOV RDI,qword ptr [RSP + 0x18]
CALL 0x0014af90
TEST EAX,EAX
JNZ 0x00219fa6
MOV RAX,qword ptr [RSP + 0x8]
MOV dword ptr [RAX + 0x38],0x0
JMP 0x00219fa6
MOV RAX,qword ptr [RSP + 0x8]
MOV dword ptr [RAX + 0x38],0x0
ADD R13,0x1
CMP qword ptr [RSP + 0x10],R13
JZ 0x0021a054
MOV RAX,qword ptr [RSP + 0x8]
CMP dword ptr [RAX + 0x38],0x0
JZ 0x00219fa6
MOV RCX,qword ptr [RBX + 0x20]
MOV R14,qword ptr [RSP + 0x20]
MOV R9,R14
MOV R8D,0x1
MOV RDX,R13
MOV ESI,0x0
MOV RDI,qword ptr [RSP + 0x28]
CALL 0x0014a9a0
MOV R12,RAX
MOV RCX,qword ptr [RBX + 0x20]
MOV RAX,qword ptr [RSP + 0x30]
LEA RDX,[RAX + R13*0x1]
MOV R9,R14
MOV R8D,0x1
MOV RSI,qword ptr [RSP + 0x38]
MOV RDI,qword ptr [RSP + 0x18]
CALL 0x0014d950
MOV RBP,RAX
TEST R12,R12
JZ 0x00219f9a
TEST RAX,RAX
JZ 0x00219f9a
MOV RSI,qword ptr [RSP + 0x40]
MOV RDI,RBX
CALL 0x0014ba50
MOV R14D,0x0
CMP qword ptr [RBX + 0x20],0x0
JLE 0x00219f79
MOV qword ptr [RSP + 0x48],R13
MOV R13,qword ptr [RSP + 0x40]
JMP 0x00219e5c
LEA RSI,[RAX + 0x1]
MOV ECX,0x0
JMP 0x00219d2b
MOV RAX,qword ptr [RSP + 0xa8]
XOR RAX,qword ptr FS:[0x28]
JNZ 0x0021a079
ADD RSP,0xb8
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CALL 0x0014c5c0
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nvoid FUN_00219cd5(undefined8 *param_1)\n\n{\n  undefined4 *puVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  long lVar8;\n  int iVar9;\n  int iVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long lVar14;\n  long lVar15;\n  long in_FS_OFFSET;\n  float fVar16;\n  undefined4 local_98;\n  undefined4 local_94;\n  int local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar1 = (undefined4 *)param_1[3];\n  lVar14 = *(long *)(puVar1 + 10);\n  iVar9 = omp_get_num_threads();\n  iVar10 = omp_get_thread_num();\n  lVar11 = lVar14 / (long)iVar9;\n  lVar14 = lVar14 % (long)iVar9;\n  if (iVar10 < lVar14) {\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }\n  lVar14 = iVar10 * lVar11 + lVar14;\n  lVar11 = lVar11 + lVar14;\n  if (lVar14 < lVar11) {\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_00219cd5(undefined8 *param_1)\n\n{\n  undefined4 *puVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  long lVar8;\n  int iVar9;\n  int iVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long lVar14;\n  long lVar15;\n  long in_FS_OFFSET;\n  float fVar16;\n  undefined4 local_98;\n  undefined4 local_94;\n  int local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar1 = (undefined4 *)param_1[3];\n  lVar14 = *(long *)(puVar1 + 10);\n  iVar9 = omp_get_num_threads();\n  iVar10 = omp_get_thread_num();\n  lVar11 = lVar14 / (long)iVar9;\n  lVar14 = lVar14 % (long)iVar9;\n  if (iVar10 < lVar14) {\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }\n  lVar14 = iVar10 * lVar11 + lVar14;\n  lVar11 = lVar11 + lVar14;\n  if (lVar14 < lVar11) {\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00219cd5(undefined8 *param_1)" identifier (parameter_list "(undefined8 *param_1)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  long lVar8;\n  int iVar9;\n  int iVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long lVar14;\n  long lVar15;\n  long in_FS_OFFSET;\n  float fVar16;\n  undefined4 local_98;\n  undefined4 local_94;\n  int local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar1 = (undefined4 *)param_1[3];\n  lVar14 = *(long *)(puVar1 + 10);\n  iVar9 = omp_get_num_threads();\n  iVar10 = omp_get_thread_num();\n  lVar11 = lVar14 / (long)iVar9;\n  lVar14 = lVar14 % (long)iVar9;\n  if (iVar10 < lVar14) {\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }\n  lVar14 = iVar10 * lVar11 + lVar14;\n  lVar11 = lVar11 + lVar14;\n  if (lVar14 < lVar11) {\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar14;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "float fVar16;" primitive_type identifier ;) (declaration "undefined4 local_98;" type_identifier identifier ;) (declaration "undefined4 local_94;" type_identifier identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined8 local_80;" type_identifier identifier ;) (declaration "double local_70;" primitive_type identifier ;) (declaration "double local_68;" primitive_type identifier ;) (declaration "double local_60;" primitive_type identifier ;) (declaration "double local_58;" primitive_type identifier ;) (declaration "double local_50;" primitive_type identifier ;) (declaration "double local_48;" primitive_type identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar1 = (undefined4 *)param_1[3];" (assignment_expression "puVar1 = (undefined4 *)param_1[3]" identifier = (cast_expression "(undefined4 *)param_1[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "lVar14 = *(long *)(puVar1 + 10);" (assignment_expression "lVar14 = *(long *)(puVar1 + 10)" identifier = (pointer_expression "*(long *)(puVar1 + 10)" * (cast_expression "(long *)(puVar1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 10)" ( (binary_expression "puVar1 + 10" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = omp_get_num_threads();" (assignment_expression "iVar9 = omp_get_num_threads()" identifier = (call_expression "omp_get_num_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar10 = omp_get_thread_num();" (assignment_expression "iVar10 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (expression_statement "lVar11 = lVar14 / (long)iVar9;" (assignment_expression "lVar11 = lVar14 / (long)iVar9" identifier = (binary_expression "lVar14 / (long)iVar9" identifier / (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "lVar14 = lVar14 % (long)iVar9;" (assignment_expression "lVar14 = lVar14 % (long)iVar9" identifier = (binary_expression "lVar14 % (long)iVar9" identifier % (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if (iVar10 < lVar14) {\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }" if (parenthesized_expression "(iVar10 < lVar14)" ( (binary_expression "iVar10 < lVar14" identifier < identifier) )) (compound_statement "{\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }" { (expression_statement "lVar11 = lVar11 + 1;" (assignment_expression "lVar11 = lVar11 + 1" identifier = (binary_expression "lVar11 + 1" identifier + number_literal)) ;) (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;) })) (expression_statement "lVar14 = iVar10 * lVar11 + lVar14;" (assignment_expression "lVar14 = iVar10 * lVar11 + lVar14" identifier = (binary_expression "iVar10 * lVar11 + lVar14" (binary_expression "iVar10 * lVar11" identifier * identifier) + identifier)) ;) (expression_statement "lVar11 = lVar11 + lVar14;" (assignment_expression "lVar11 = lVar11 + lVar14" identifier = (binary_expression "lVar11 + lVar14" identifier + identifier)) ;) (if_statement "if (lVar14 < lVar11) {\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }" if (parenthesized_expression "(lVar14 < lVar11)" ( (binary_expression "lVar14 < lVar11" identifier < identifier) )) (compound_statement "{\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }" { (expression_statement "uVar2 = param_1[6];" (assignment_expression "uVar2 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "lVar3 = param_1[5];" (assignment_expression "lVar3 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[4];" (assignment_expression "uVar4 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "lVar5 = param_1[2];" (assignment_expression "lVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[1];" (assignment_expression "uVar6 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (do_statement "do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);" do (compound_statement "{\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    }" { (if_statement "if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }" if (parenthesized_expression "(*(int *)(param_1 + 7) != 0)" ( (binary_expression "*(int *)(param_1 + 7) != 0" (pointer_expression "*(int *)(param_1 + 7)" * (cast_expression "(int *)(param_1 + 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }" { (expression_statement "lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);" (assignment_expression "lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" identifier = (call_expression "GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" identifier (argument_list "(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined8 *)(puVar1 + 8)" * (cast_expression "(undefined8 *)(puVar1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 8)" ( (binary_expression "puVar1 + 8" identifier + number_literal) )))) , number_literal , identifier )))) ;) (expression_statement "lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);" (assignment_expression "lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" identifier = (call_expression "QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" identifier (argument_list "(uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" ( identifier , identifier , (binary_expression "lVar3 + lVar14" identifier + identifier) , (pointer_expression "*(undefined8 *)(puVar1 + 8)" * (cast_expression "(undefined8 *)(puVar1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 8)" ( (binary_expression "puVar1 + 8" identifier + number_literal) )))) , number_literal , identifier )))) ;) (if_statement "if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }" if (parenthesized_expression "((lVar12 == 0) || (lVar13 == 0))" ( (binary_expression "(lVar12 == 0) || (lVar13 == 0)" (parenthesized_expression "(lVar12 == 0)" ( (binary_expression "lVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          *(undefined4 *)(param_1 + 7) = 0;\n        }" { (expression_statement "*(undefined4 *)(param_1 + 7) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 7) = 0" (pointer_expression "*(undefined4 *)(param_1 + 7)" * (cast_expression "(undefined4 *)(param_1 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }" else (compound_statement "{\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }" { (expression_statement "GetPixelInfo(puVar1,&local_98);" (call_expression "GetPixelInfo(puVar1,&local_98)" identifier (argument_list "(puVar1,&local_98)" ( identifier , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "lVar15 = 0;" (assignment_expression "lVar15 = 0" identifier = number_literal) ;) (if_statement "if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }" if (parenthesized_expression "(0 < *(long *)(puVar1 + 8))" ( (binary_expression "0 < *(long *)(puVar1 + 8)" number_literal < (pointer_expression "*(long *)(puVar1 + 8)" * (cast_expression "(long *)(puVar1 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 8)" ( (binary_expression "puVar1 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }" { (do_statement "do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));" do (compound_statement "{\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            }" { (expression_statement "ResetMagickMemory(&local_98,0,0x58);" (call_expression "ResetMagickMemory(&local_98,0,0x58)" identifier (argument_list "(&local_98,0,0x58)" ( (pointer_expression "&local_98" & identifier) , number_literal , number_literal ))) ;) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" identifier = number_literal) ;) (expression_statement "local_94 = 0x17;" (assignment_expression "local_94 = 0x17" identifier = number_literal) ;) (expression_statement "local_80 = 0x10;" (assignment_expression "local_80 = 0x10" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_50 = DAT_003f95f8;" (assignment_expression "local_50 = DAT_003f95f8" identifier = identifier) ;) (if_statement "if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }" if (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" ( (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }" { (expression_statement "local_98 = *puVar1;" (assignment_expression "local_98 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "local_94 = puVar1[1];" (assignment_expression "local_94 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "local_88 = *(undefined8 *)(puVar1 + 0xa6);" (assignment_expression "local_88 = *(undefined8 *)(puVar1 + 0xa6)" identifier = (pointer_expression "*(undefined8 *)(puVar1 + 0xa6)" * (cast_expression "(undefined8 *)(puVar1 + 0xa6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0xa6)" ( (binary_expression "puVar1 + 0xa6" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(puVar1 + 0xc);" (assignment_expression "local_80 = *(undefined8 *)(puVar1 + 0xc)" identifier = (pointer_expression "*(undefined8 *)(puVar1 + 0xc)" * (cast_expression "(undefined8 *)(puVar1 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0xc)" ( (binary_expression "puVar1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_90 = puVar1[0xcf];" (assignment_expression "local_90 = puVar1[0xcf]" identifier = (subscript_expression "puVar1[0xcf]" identifier [ number_literal ])) ;) (if_statement "if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }" if (parenthesized_expression "(lVar12 != 0)" ( (binary_expression "lVar12 != 0" identifier != number_literal) )) (compound_statement "{\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }" { (expression_statement "lVar8 = *(long *)(puVar1 + 0xd8);" (assignment_expression "lVar8 = *(long *)(puVar1 + 0xd8)" identifier = (pointer_expression "*(long *)(puVar1 + 0xd8)" * (cast_expression "(long *)(puVar1 + 0xd8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0xd8)" ( (binary_expression "puVar1 + 0xd8" identifier + number_literal) ))))) ;) (expression_statement "local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);" (assignment_expression "local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 8) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 8) * 4" identifier + (binary_expression "*(long *)(lVar8 + 8) * 4" (pointer_expression "*(long *)(lVar8 + 8)" * (cast_expression "(long *)(lVar8 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 8)" ( (binary_expression "lVar8 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);" (assignment_expression "local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x18) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 0x18) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x18) * 4" (pointer_expression "*(long *)(lVar8 + 0x18)" * (cast_expression "(long *)(lVar8 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x18)" ( (binary_expression "lVar8 + 0x18" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);" (assignment_expression "local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x28) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 0x28) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x28) * 4" (pointer_expression "*(long *)(lVar8 + 0x28)" * (cast_expression "(long *)(lVar8 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x28)" ( (binary_expression "lVar8 + 0x28" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }" if (parenthesized_expression "(*(int *)(lVar8 + 0x34) != 0)" ( (binary_expression "*(int *)(lVar8 + 0x34) != 0" (pointer_expression "*(int *)(lVar8 + 0x34)" * (cast_expression "(int *)(lVar8 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x34)" ( (binary_expression "lVar8 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }" { (expression_statement "local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);" (assignment_expression "local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x38) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 0x38) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x38) * 4" (pointer_expression "*(long *)(lVar8 + 0x38)" * (cast_expression "(long *)(lVar8 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x38)" ( (binary_expression "lVar8 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }" if (parenthesized_expression "(*(int *)(lVar8 + 0x44) != 0)" ( (binary_expression "*(int *)(lVar8 + 0x44) != 0" (pointer_expression "*(int *)(lVar8 + 0x44)" * (cast_expression "(int *)(lVar8 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x44)" ( (binary_expression "lVar8 + 0x44" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }" { (expression_statement "local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);" (assignment_expression "local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x48) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 0x48) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x48) * 4" (pointer_expression "*(long *)(lVar8 + 0x48)" * (cast_expression "(long *)(lVar8 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x48)" ( (binary_expression "lVar8 + 0x48" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "local_90 = 4;" (assignment_expression "local_90 = 4" identifier = number_literal) ;) })) (if_statement "if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }" if (parenthesized_expression "(*(int *)(lVar8 + 0x54) != 0)" ( (binary_expression "*(int *)(lVar8 + 0x54) != 0" (pointer_expression "*(int *)(lVar8 + 0x54)" * (cast_expression "(int *)(lVar8 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x54)" ( (binary_expression "lVar8 + 0x54" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }" { (expression_statement "local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);" (assignment_expression "local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x58) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 0x58) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x58) * 4" (pointer_expression "*(long *)(lVar8 + 0x58)" * (cast_expression "(long *)(lVar8 + 0x58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x58)" ( (binary_expression "lVar8 + 0x58" identifier + number_literal) )))) * number_literal)) )))))) ;) })) })) })) (expression_statement "lVar8 = *(long *)(lVar5 + 0x360);" (assignment_expression "lVar8 = *(long *)(lVar5 + 0x360)" identifier = (pointer_expression "*(long *)(lVar5 + 0x360)" * (cast_expression "(long *)(lVar5 + 0x360)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x360)" ( (binary_expression "lVar5 + 0x360" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 8) * 4)" * (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 8) * 4)" ( (binary_expression "lVar13 + *(long *)(lVar8 + 8) * 4" identifier + (binary_expression "*(long *)(lVar8 + 8) * 4" (pointer_expression "*(long *)(lVar8 + 8)" * (cast_expression "(long *)(lVar8 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 8)" ( (binary_expression "lVar8 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)local_70" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4)" * (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x18) * 4)" ( (binary_expression "lVar13 + *(long *)(lVar8 + 0x18) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x18) * 4" (pointer_expression "*(long *)(lVar8 + 0x18)" * (cast_expression "(long *)(lVar8 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x18)" ( (binary_expression "lVar8 + 0x18" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)local_68" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4)" * (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x28) * 4)" ( (binary_expression "lVar13 + *(long *)(lVar8 + 0x28) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x28) * 4" (pointer_expression "*(long *)(lVar8 + 0x28)" * (cast_expression "(long *)(lVar8 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x28)" ( (binary_expression "lVar8 + 0x28" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)local_60" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }" if (parenthesized_expression "(*(int *)(lVar8 + 0x34) != 0)" ( (binary_expression "*(int *)(lVar8 + 0x34) != 0" (pointer_expression "*(int *)(lVar8 + 0x34)" * (cast_expression "(int *)(lVar8 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x34)" ( (binary_expression "lVar8 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }" { (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4)" * (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x38) * 4)" ( (binary_expression "lVar13 + *(long *)(lVar8 + 0x38) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x38) * 4" (pointer_expression "*(long *)(lVar8 + 0x38)" * (cast_expression "(long *)(lVar8 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x38)" ( (binary_expression "lVar8 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)local_58" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (if_statement "if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }" if (parenthesized_expression "(*(int *)(lVar8 + 0x44) != 0)" ( (binary_expression "*(int *)(lVar8 + 0x44) != 0" (pointer_expression "*(int *)(lVar8 + 0x44)" * (cast_expression "(int *)(lVar8 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x44)" ( (binary_expression "lVar8 + 0x44" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }" { (expression_statement "fVar16 = _DAT_003fa400;" (assignment_expression "fVar16 = _DAT_003fa400" identifier = identifier) ;) (if_statement "if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }" if (parenthesized_expression "(local_90 != 0)" ( (binary_expression "local_90 != 0" identifier != number_literal) )) (compound_statement "{\n                  fVar16 = (float)local_50;\n                }" { (expression_statement "fVar16 = (float)local_50;" (assignment_expression "fVar16 = (float)local_50" identifier = (cast_expression "(float)local_50" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4)" * (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x48) * 4)" ( (binary_expression "lVar13 + *(long *)(lVar8 + 0x48) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x48) * 4" (pointer_expression "*(long *)(lVar8 + 0x48)" * (cast_expression "(long *)(lVar8 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x48)" ( (binary_expression "lVar8 + 0x48" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;) })) (expression_statement "lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;" (assignment_expression "lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4" identifier = (binary_expression "lVar12 + *(long *)(puVar1 + 0xd0) * 4" identifier + (binary_expression "*(long *)(puVar1 + 0xd0) * 4" (pointer_expression "*(long *)(puVar1 + 0xd0)" * (cast_expression "(long *)(puVar1 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0xd0)" ( (binary_expression "puVar1 + 0xd0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;" (assignment_expression "lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4" identifier = (binary_expression "lVar13 + *(long *)(lVar5 + 0x340) * 4" identifier + (binary_expression "*(long *)(lVar5 + 0x340) * 4" (pointer_expression "*(long *)(lVar5 + 0x340)" * (cast_expression "(long *)(lVar5 + 0x340)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x340)" ( (binary_expression "lVar5 + 0x340" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "lVar15 = lVar15 + 1;" (assignment_expression "lVar15 = lVar15 + 1" identifier = (binary_expression "lVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar15 < *(long *)(puVar1 + 8))" ( (binary_expression "lVar15 < *(long *)(puVar1 + 8)" identifier < (pointer_expression "*(long *)(puVar1 + 8)" * (cast_expression "(long *)(puVar1 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 8)" ( (binary_expression "puVar1 + 8" identifier + number_literal) ))))) )) ;) })) (expression_statement "iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);" (assignment_expression "iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7)" identifier = (call_expression "SyncCacheViewAuthenticPixels(uVar6,uVar7)" identifier (argument_list "(uVar6,uVar7)" ( identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)(param_1 + 7) = 0;\n          }" { (expression_statement "*(undefined4 *)(param_1 + 7) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 7) = 0" (pointer_expression "*(undefined4 *)(param_1 + 7)" * (cast_expression "(undefined4 *)(param_1 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = number_literal) ;) })) }))) })) (expression_statement "lVar14 = lVar14 + 1;" (assignment_expression "lVar14 = lVar14 + 1" identifier = (binary_expression "lVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar11 != lVar14)" ( (binary_expression "lVar11 != lVar14" identifier != identifier) )) ;) })) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\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 "ChannelType": 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/* DWARF original prototype: void AppendImages._omp_fn.0(anon_struct_64_8_198ab8d1 * param_0) */\n\nvoid __thiscall AppendImages__omp_fn_0(void *this)\n\n{\n  Image *image;\n  size_t sVar1;\n  CacheView *cache_view;\n  long lVar2;\n  ssize_t x;\n  long lVar3;\n  CacheView *cache_view_00;\n  ExceptionInfo *exception;\n  long lVar4;\n  PixelChannelMap *pPVar5;\n  int iVar6;\n  int iVar7;\n  MagickBooleanType MVar8;\n  long lVar9;\n  Quantum *pQVar10;\n  Quantum *pQVar11;\n  long lVar12;\n  long lVar13;\n  long in_FS_OFFSET;\n  Quantum QVar14;\n  PixelInfo local_98;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  image = *(Image **)((long)this + 0x18);\n  sVar1 = image->rows;\n  iVar6 = omp_get_num_threads();\n  iVar7 = omp_get_thread_num();\n  lVar9 = (long)sVar1 / (long)iVar6;\n  lVar12 = (long)sVar1 % (long)iVar6;\n  if (iVar7 < lVar12) {\n    lVar9 = lVar9 + 1;\n    lVar12 = 0;\n  }\n  lVar12 = iVar7 * lVar9 + lVar12;\n  lVar9 = lVar9 + lVar12;\n  if (lVar12 < lVar9) {\n    cache_view = *(CacheView **)((long)this + 0x30);\n    lVar2 = *(long *)((long)this + 0x28);\n    x = *(ssize_t *)((long)this + 0x20);\n    lVar3 = *(long *)((long)this + 0x10);\n    cache_view_00 = *(CacheView **)((long)this + 8);\n                    /* WARNING: Load size is inaccurate */\n    exception = *this;\n    do {\n      if (*(int *)((long)this + 0x38) != 0) {\n        pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception);\n        pQVar11 = QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception);\n        if ((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)) {\n          *(undefined4 *)((long)this + 0x38) = 0;\n        }\n        else {\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }\n      }\n      lVar12 = lVar12 + 1;\n    } while (lVar9 != lVar12);\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}\n\n" comment comment comment comment comment comment comment (function_definition "void __thiscall AppendImages__omp_fn_0(void *this)\n\n{\n  Image *image;\n  size_t sVar1;\n  CacheView *cache_view;\n  long lVar2;\n  ssize_t x;\n  long lVar3;\n  CacheView *cache_view_00;\n  ExceptionInfo *exception;\n  long lVar4;\n  PixelChannelMap *pPVar5;\n  int iVar6;\n  int iVar7;\n  MagickBooleanType MVar8;\n  long lVar9;\n  Quantum *pQVar10;\n  Quantum *pQVar11;\n  long lVar12;\n  long lVar13;\n  long in_FS_OFFSET;\n  Quantum QVar14;\n  PixelInfo local_98;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  image = *(Image **)((long)this + 0x18);\n  sVar1 = image->rows;\n  iVar6 = omp_get_num_threads();\n  iVar7 = omp_get_thread_num();\n  lVar9 = (long)sVar1 / (long)iVar6;\n  lVar12 = (long)sVar1 % (long)iVar6;\n  if (iVar7 < lVar12) {\n    lVar9 = lVar9 + 1;\n    lVar12 = 0;\n  }\n  lVar12 = iVar7 * lVar9 + lVar12;\n  lVar9 = lVar9 + lVar12;\n  if (lVar12 < lVar9) {\n    cache_view = *(CacheView **)((long)this + 0x30);\n    lVar2 = *(long *)((long)this + 0x28);\n    x = *(ssize_t *)((long)this + 0x20);\n    lVar3 = *(long *)((long)this + 0x10);\n    cache_view_00 = *(CacheView **)((long)this + 8);\n                    /* WARNING: Load size is inaccurate */\n    exception = *this;\n    do {\n      if (*(int *)((long)this + 0x38) != 0) {\n        pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception);\n        pQVar11 = QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception);\n        if ((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)) {\n          *(undefined4 *)((long)this + 0x38) = 0;\n        }\n        else {\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }\n      }\n      lVar12 = lVar12 + 1;\n    } while (lVar9 != lVar12);\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (function_declarator "AppendImages__omp_fn_0(void *this)" identifier (parameter_list "(void *this)" ( (parameter_declaration "void *this" primitive_type (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  Image *image;\n  size_t sVar1;\n  CacheView *cache_view;\n  long lVar2;\n  ssize_t x;\n  long lVar3;\n  CacheView *cache_view_00;\n  ExceptionInfo *exception;\n  long lVar4;\n  PixelChannelMap *pPVar5;\n  int iVar6;\n  int iVar7;\n  MagickBooleanType MVar8;\n  long lVar9;\n  Quantum *pQVar10;\n  Quantum *pQVar11;\n  long lVar12;\n  long lVar13;\n  long in_FS_OFFSET;\n  Quantum QVar14;\n  PixelInfo local_98;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  image = *(Image **)((long)this + 0x18);\n  sVar1 = image->rows;\n  iVar6 = omp_get_num_threads();\n  iVar7 = omp_get_thread_num();\n  lVar9 = (long)sVar1 / (long)iVar6;\n  lVar12 = (long)sVar1 % (long)iVar6;\n  if (iVar7 < lVar12) {\n    lVar9 = lVar9 + 1;\n    lVar12 = 0;\n  }\n  lVar12 = iVar7 * lVar9 + lVar12;\n  lVar9 = lVar9 + lVar12;\n  if (lVar12 < lVar9) {\n    cache_view = *(CacheView **)((long)this + 0x30);\n    lVar2 = *(long *)((long)this + 0x28);\n    x = *(ssize_t *)((long)this + 0x20);\n    lVar3 = *(long *)((long)this + 0x10);\n    cache_view_00 = *(CacheView **)((long)this + 8);\n                    /* WARNING: Load size is inaccurate */\n    exception = *this;\n    do {\n      if (*(int *)((long)this + 0x38) != 0) {\n        pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception);\n        pQVar11 = QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception);\n        if ((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)) {\n          *(undefined4 *)((long)this + 0x38) = 0;\n        }\n        else {\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }\n      }\n      lVar12 = lVar12 + 1;\n    } while (lVar9 != lVar12);\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" { (declaration "Image *image;" type_identifier (pointer_declarator "*image" * identifier) ;) (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "CacheView *cache_view;" type_identifier (pointer_declarator "*cache_view" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "ssize_t x;" primitive_type identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "CacheView *cache_view_00;" type_identifier (pointer_declarator "*cache_view_00" * identifier) ;) (declaration "ExceptionInfo *exception;" type_identifier (pointer_declarator "*exception" * identifier) ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "PixelChannelMap *pPVar5;" type_identifier (pointer_declarator "*pPVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "MagickBooleanType MVar8;" type_identifier identifier ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "Quantum *pQVar10;" type_identifier (pointer_declarator "*pQVar10" * identifier) ;) (declaration "Quantum *pQVar11;" type_identifier (pointer_declarator "*pQVar11" * identifier) ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "Quantum QVar14;" type_identifier identifier ;) (declaration "PixelInfo local_98;" type_identifier identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "image = *(Image **)((long)this + 0x18);" (assignment_expression "image = *(Image **)((long)this + 0x18)" identifier = (pointer_expression "*(Image **)((long)this + 0x18)" * (cast_expression "(Image **)((long)this + 0x18)" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)this + 0x18)" ( (binary_expression "(long)this + 0x18" (cast_expression "(long)this" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "sVar1 = image->rows;" (assignment_expression "sVar1 = image->rows" identifier = (field_expression "image->rows" identifier -> field_identifier)) ;) (expression_statement "iVar6 = omp_get_num_threads();" (assignment_expression "iVar6 = omp_get_num_threads()" identifier = (call_expression "omp_get_num_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar7 = omp_get_thread_num();" (assignment_expression "iVar7 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (expression_statement "lVar9 = (long)sVar1 / (long)iVar6;" (assignment_expression "lVar9 = (long)sVar1 / (long)iVar6" identifier = (binary_expression "(long)sVar1 / (long)iVar6" (cast_expression "(long)sVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) / (cast_expression "(long)iVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "lVar12 = (long)sVar1 % (long)iVar6;" (assignment_expression "lVar12 = (long)sVar1 % (long)iVar6" identifier = (binary_expression "(long)sVar1 % (long)iVar6" (cast_expression "(long)sVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) % (cast_expression "(long)iVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if (iVar7 < lVar12) {\n    lVar9 = lVar9 + 1;\n    lVar12 = 0;\n  }" if (parenthesized_expression "(iVar7 < lVar12)" ( (binary_expression "iVar7 < lVar12" identifier < identifier) )) (compound_statement "{\n    lVar9 = lVar9 + 1;\n    lVar12 = 0;\n  }" { (expression_statement "lVar9 = lVar9 + 1;" (assignment_expression "lVar9 = lVar9 + 1" identifier = (binary_expression "lVar9 + 1" identifier + number_literal)) ;) (expression_statement "lVar12 = 0;" (assignment_expression "lVar12 = 0" identifier = number_literal) ;) })) (expression_statement "lVar12 = iVar7 * lVar9 + lVar12;" (assignment_expression "lVar12 = iVar7 * lVar9 + lVar12" identifier = (binary_expression "iVar7 * lVar9 + lVar12" (binary_expression "iVar7 * lVar9" identifier * identifier) + identifier)) ;) (expression_statement "lVar9 = lVar9 + lVar12;" (assignment_expression "lVar9 = lVar9 + lVar12" identifier = (binary_expression "lVar9 + lVar12" identifier + identifier)) ;) (if_statement "if (lVar12 < lVar9) {\n    cache_view = *(CacheView **)((long)this + 0x30);\n    lVar2 = *(long *)((long)this + 0x28);\n    x = *(ssize_t *)((long)this + 0x20);\n    lVar3 = *(long *)((long)this + 0x10);\n    cache_view_00 = *(CacheView **)((long)this + 8);\n                    /* WARNING: Load size is inaccurate */\n    exception = *this;\n    do {\n      if (*(int *)((long)this + 0x38) != 0) {\n        pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception);\n        pQVar11 = QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception);\n        if ((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)) {\n          *(undefined4 *)((long)this + 0x38) = 0;\n        }\n        else {\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }\n      }\n      lVar12 = lVar12 + 1;\n    } while (lVar9 != lVar12);\n  }" if (parenthesized_expression "(lVar12 < lVar9)" ( (binary_expression "lVar12 < lVar9" identifier < identifier) )) (compound_statement "{\n    cache_view = *(CacheView **)((long)this + 0x30);\n    lVar2 = *(long *)((long)this + 0x28);\n    x = *(ssize_t *)((long)this + 0x20);\n    lVar3 = *(long *)((long)this + 0x10);\n    cache_view_00 = *(CacheView **)((long)this + 8);\n                    /* WARNING: Load size is inaccurate */\n    exception = *this;\n    do {\n      if (*(int *)((long)this + 0x38) != 0) {\n        pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception);\n        pQVar11 = QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception);\n        if ((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)) {\n          *(undefined4 *)((long)this + 0x38) = 0;\n        }\n        else {\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }\n      }\n      lVar12 = lVar12 + 1;\n    } while (lVar9 != lVar12);\n  }" { (expression_statement "cache_view = *(CacheView **)((long)this + 0x30);" (assignment_expression "cache_view = *(CacheView **)((long)this + 0x30)" identifier = (pointer_expression "*(CacheView **)((long)this + 0x30)" * (cast_expression "(CacheView **)((long)this + 0x30)" ( (type_descriptor "CacheView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)this + 0x30)" ( (binary_expression "(long)this + 0x30" (cast_expression "(long)this" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "lVar2 = *(long *)((long)this + 0x28);" (assignment_expression "lVar2 = *(long *)((long)this + 0x28)" identifier = (pointer_expression "*(long *)((long)this + 0x28)" * (cast_expression "(long *)((long)this + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)this + 0x28)" ( (binary_expression "(long)this + 0x28" (cast_expression "(long)this" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "x = *(ssize_t *)((long)this + 0x20);" (assignment_expression "x = *(ssize_t *)((long)this + 0x20)" identifier = (pointer_expression "*(ssize_t *)((long)this + 0x20)" * (cast_expression "(ssize_t *)((long)this + 0x20)" ( (type_descriptor "ssize_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)this + 0x20)" ( (binary_expression "(long)this + 0x20" (cast_expression "(long)this" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "lVar3 = *(long *)((long)this + 0x10);" (assignment_expression "lVar3 = *(long *)((long)this + 0x10)" identifier = (pointer_expression "*(long *)((long)this + 0x10)" * (cast_expression "(long *)((long)this + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)this + 0x10)" ( (binary_expression "(long)this + 0x10" (cast_expression "(long)this" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "cache_view_00 = *(CacheView **)((long)this + 8);" (assignment_expression "cache_view_00 = *(CacheView **)((long)this + 8)" identifier = (pointer_expression "*(CacheView **)((long)this + 8)" * (cast_expression "(CacheView **)((long)this + 8)" ( (type_descriptor "CacheView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)this + 8)" ( (binary_expression "(long)this + 8" (cast_expression "(long)this" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) comment (expression_statement "exception = *this;" (assignment_expression "exception = *this" identifier = (pointer_expression "*this" * identifier)) ;) (do_statement "do {\n      if (*(int *)((long)this + 0x38) != 0) {\n        pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception);\n        pQVar11 = QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception);\n        if ((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)) {\n          *(undefined4 *)((long)this + 0x38) = 0;\n        }\n        else {\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }\n      }\n      lVar12 = lVar12 + 1;\n    } while (lVar9 != lVar12);" do (compound_statement "{\n      if (*(int *)((long)this + 0x38) != 0) {\n        pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception);\n        pQVar11 = QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception);\n        if ((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)) {\n          *(undefined4 *)((long)this + 0x38) = 0;\n        }\n        else {\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }\n      }\n      lVar12 = lVar12 + 1;\n    }" { (if_statement "if (*(int *)((long)this + 0x38) != 0) {\n        pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception);\n        pQVar11 = QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception);\n        if ((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)) {\n          *(undefined4 *)((long)this + 0x38) = 0;\n        }\n        else {\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }\n      }" if (parenthesized_expression "(*(int *)((long)this + 0x38) != 0)" ( (binary_expression "*(int *)((long)this + 0x38) != 0" (pointer_expression "*(int *)((long)this + 0x38)" * (cast_expression "(int *)((long)this + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)this + 0x38)" ( (binary_expression "(long)this + 0x38" (cast_expression "(long)this" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception);\n        pQVar11 = QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception);\n        if ((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)) {\n          *(undefined4 *)((long)this + 0x38) = 0;\n        }\n        else {\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }\n      }" { (expression_statement "pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception);" (assignment_expression "pQVar10 = GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception)" identifier = (call_expression "GetCacheViewVirtualPixels(cache_view,0,lVar12,image->columns,1,exception)" identifier (argument_list "(cache_view,0,lVar12,image->columns,1,exception)" ( identifier , number_literal , identifier , (field_expression "image->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (expression_statement "pQVar11 = QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception);" (assignment_expression "pQVar11 = QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception)" identifier = (call_expression "QueueCacheViewAuthenticPixels\n                            (cache_view_00,x,lVar2 + lVar12,image->columns,1,exception)" identifier (argument_list "(cache_view_00,x,lVar2 + lVar12,image->columns,1,exception)" ( identifier , identifier , (binary_expression "lVar2 + lVar12" identifier + identifier) , (field_expression "image->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if ((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)) {\n          *(undefined4 *)((long)this + 0x38) = 0;\n        }\n        else {\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }" if (parenthesized_expression "((pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0))" ( (binary_expression "(pQVar10 == (Quantum *)0x0) || (pQVar11 == (Quantum *)0x0)" (parenthesized_expression "(pQVar10 == (Quantum *)0x0)" ( (binary_expression "pQVar10 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pQVar11 == (Quantum *)0x0)" ( (binary_expression "pQVar11 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          *(undefined4 *)((long)this + 0x38) = 0;\n        }" { (expression_statement "*(undefined4 *)((long)this + 0x38) = 0;" (assignment_expression "*(undefined4 *)((long)this + 0x38) = 0" (pointer_expression "*(undefined4 *)((long)this + 0x38)" * (cast_expression "(undefined4 *)((long)this + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)this + 0x38)" ( (binary_expression "(long)this + 0x38" (cast_expression "(long)this" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }" else (compound_statement "{\n          GetPixelInfo(image,&local_98);\n          lVar13 = 0;\n          if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }\n          MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);\n          if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }\n        }" { (expression_statement "GetPixelInfo(image,&local_98);" (call_expression "GetPixelInfo(image,&local_98)" identifier (argument_list "(image,&local_98)" ( identifier , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) (if_statement "if (0 < (long)image->columns) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }" if (parenthesized_expression "(0 < (long)image->columns)" ( (binary_expression "0 < (long)image->columns" number_literal < (cast_expression "(long)image->columns" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "image->columns" identifier -> field_identifier))) )) (compound_statement "{\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);\n          }" { (do_statement "do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            } while (lVar13 < (long)image->columns);" do (compound_statement "{\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98.storage_class = DirectClass;\n              local_98.colorspace = sRGBColorspace;\n              local_98.depth = 0x10;\n              local_98.alpha_trait = UndefinedPixelTrait;\n              local_98.alpha = DAT_003f95f8;\n              if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }\n              lVar4 = *(long *)(lVar3 + 0x360);\n              pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;\n              pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;\n              pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;\n              if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }\n              if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }\n              pQVar10 = pQVar10 + image->number_channels;\n              pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);\n              lVar13 = lVar13 + 1;\n            }" { (expression_statement "ResetMagickMemory(&local_98,0,0x58);" (call_expression "ResetMagickMemory(&local_98,0,0x58)" identifier (argument_list "(&local_98,0,0x58)" ( (pointer_expression "&local_98" & identifier) , number_literal , number_literal ))) ;) (expression_statement "local_98.storage_class = DirectClass;" (assignment_expression "local_98.storage_class = DirectClass" (field_expression "local_98.storage_class" identifier . field_identifier) = identifier) ;) (expression_statement "local_98.colorspace = sRGBColorspace;" (assignment_expression "local_98.colorspace = sRGBColorspace" (field_expression "local_98.colorspace" identifier . field_identifier) = identifier) ;) (expression_statement "local_98.depth = 0x10;" (assignment_expression "local_98.depth = 0x10" (field_expression "local_98.depth" identifier . field_identifier) = number_literal) ;) (expression_statement "local_98.alpha_trait = UndefinedPixelTrait;" (assignment_expression "local_98.alpha_trait = UndefinedPixelTrait" (field_expression "local_98.alpha_trait" identifier . field_identifier) = identifier) ;) (expression_statement "local_98.alpha = DAT_003f95f8;" (assignment_expression "local_98.alpha = DAT_003f95f8" (field_expression "local_98.alpha" identifier . field_identifier) = identifier) ;) (if_statement "if (image != (Image *)0x0) {\n                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\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                local_98.storage_class = image->storage_class;\n                local_98.colorspace = image->colorspace;\n                local_98.fuzz = image->fuzz;\n                local_98.depth = image->depth;\n                local_98.alpha_trait = image->alpha_trait;\n                if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }\n              }" { (expression_statement "local_98.storage_class = image->storage_class;" (assignment_expression "local_98.storage_class = image->storage_class" (field_expression "local_98.storage_class" identifier . field_identifier) = (field_expression "image->storage_class" identifier -> field_identifier)) ;) (expression_statement "local_98.colorspace = image->colorspace;" (assignment_expression "local_98.colorspace = image->colorspace" (field_expression "local_98.colorspace" identifier . field_identifier) = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (expression_statement "local_98.fuzz = image->fuzz;" (assignment_expression "local_98.fuzz = image->fuzz" (field_expression "local_98.fuzz" identifier . field_identifier) = (field_expression "image->fuzz" identifier -> field_identifier)) ;) (expression_statement "local_98.depth = image->depth;" (assignment_expression "local_98.depth = image->depth" (field_expression "local_98.depth" identifier . field_identifier) = (field_expression "image->depth" identifier -> field_identifier)) ;) (expression_statement "local_98.alpha_trait = image->alpha_trait;" (assignment_expression "local_98.alpha_trait = image->alpha_trait" (field_expression "local_98.alpha_trait" identifier . field_identifier) = (field_expression "image->alpha_trait" identifier -> field_identifier)) ;) (if_statement "if (pQVar10 != (Quantum *)0x0) {\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }" if (parenthesized_expression "(pQVar10 != (Quantum *)0x0)" ( (binary_expression "pQVar10 != (Quantum *)0x0" identifier != (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pPVar5 = image->channel_map;\n                  local_98.red = (MagickRealType)pQVar10[pPVar5->offset];\n                  local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];\n                  local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];\n                  if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }\n                  if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }\n                  if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }\n                }" { (expression_statement "pPVar5 = image->channel_map;" (assignment_expression "pPVar5 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "local_98.red = (MagickRealType)pQVar10[pPVar5->offset];" (assignment_expression "local_98.red = (MagickRealType)pQVar10[pPVar5->offset]" (field_expression "local_98.red" identifier . field_identifier) = (cast_expression "(MagickRealType)pQVar10[pPVar5->offset]" ( (type_descriptor "MagickRealType" type_identifier) ) (subscript_expression "pQVar10[pPVar5->offset]" identifier [ (field_expression "pPVar5->offset" identifier -> field_identifier) ]))) ;) (expression_statement "local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset];" (assignment_expression "local_98.green = (MagickRealType)pQVar10[pPVar5[1].offset]" (field_expression "local_98.green" identifier . field_identifier) = (cast_expression "(MagickRealType)pQVar10[pPVar5[1].offset]" ( (type_descriptor "MagickRealType" type_identifier) ) (subscript_expression "pQVar10[pPVar5[1].offset]" identifier [ (field_expression "pPVar5[1].offset" (subscript_expression "pPVar5[1]" identifier [ number_literal ]) . field_identifier) ]))) ;) (expression_statement "local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset];" (assignment_expression "local_98.blue = (MagickRealType)pQVar10[pPVar5[2].offset]" (field_expression "local_98.blue" identifier . field_identifier) = (cast_expression "(MagickRealType)pQVar10[pPVar5[2].offset]" ( (type_descriptor "MagickRealType" type_identifier) ) (subscript_expression "pQVar10[pPVar5[2].offset]" identifier [ (field_expression "pPVar5[2].offset" (subscript_expression "pPVar5[2]" identifier [ number_literal ]) . field_identifier) ]))) ;) (if_statement "if (pPVar5[3].traits != UndefinedPixelTrait) {\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }" if (parenthesized_expression "(pPVar5[3].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar5[3].traits != UndefinedPixelTrait" (field_expression "pPVar5[3].traits" (subscript_expression "pPVar5[3]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                    local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];\n                  }" { (expression_statement "local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset];" (assignment_expression "local_98.black = (MagickRealType)pQVar10[pPVar5[3].offset]" (field_expression "local_98.black" identifier . field_identifier) = (cast_expression "(MagickRealType)pQVar10[pPVar5[3].offset]" ( (type_descriptor "MagickRealType" type_identifier) ) (subscript_expression "pQVar10[pPVar5[3].offset]" identifier [ (field_expression "pPVar5[3].offset" (subscript_expression "pPVar5[3]" identifier [ number_literal ]) . field_identifier) ]))) ;) })) (if_statement "if (pPVar5[4].traits != UndefinedPixelTrait) {\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }" if (parenthesized_expression "(pPVar5[4].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar5[4].traits != UndefinedPixelTrait" (field_expression "pPVar5[4].traits" (subscript_expression "pPVar5[4]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                    local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];\n                    local_98.alpha_trait = BlendPixelTrait;\n                  }" { (expression_statement "local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset];" (assignment_expression "local_98.alpha = (MagickRealType)pQVar10[pPVar5[4].offset]" (field_expression "local_98.alpha" identifier . field_identifier) = (cast_expression "(MagickRealType)pQVar10[pPVar5[4].offset]" ( (type_descriptor "MagickRealType" type_identifier) ) (subscript_expression "pQVar10[pPVar5[4].offset]" identifier [ (field_expression "pPVar5[4].offset" (subscript_expression "pPVar5[4]" identifier [ number_literal ]) . field_identifier) ]))) ;) (expression_statement "local_98.alpha_trait = BlendPixelTrait;" (assignment_expression "local_98.alpha_trait = BlendPixelTrait" (field_expression "local_98.alpha_trait" identifier . field_identifier) = identifier) ;) })) (if_statement "if (pPVar5[5].traits != UndefinedPixelTrait) {\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }" if (parenthesized_expression "(pPVar5[5].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar5[5].traits != UndefinedPixelTrait" (field_expression "pPVar5[5].traits" (subscript_expression "pPVar5[5]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                    local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];\n                  }" { (expression_statement "local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset];" (assignment_expression "local_98.index = (MagickRealType)pQVar10[pPVar5[5].offset]" (field_expression "local_98.index" identifier . field_identifier) = (cast_expression "(MagickRealType)pQVar10[pPVar5[5].offset]" ( (type_descriptor "MagickRealType" type_identifier) ) (subscript_expression "pQVar10[pPVar5[5].offset]" identifier [ (field_expression "pPVar5[5].offset" (subscript_expression "pPVar5[5]" identifier [ number_literal ]) . field_identifier) ]))) ;) })) })) })) (expression_statement "lVar4 = *(long *)(lVar3 + 0x360);" (assignment_expression "lVar4 = *(long *)(lVar3 + 0x360)" identifier = (pointer_expression "*(long *)(lVar3 + 0x360)" * (cast_expression "(long *)(lVar3 + 0x360)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x360)" ( (binary_expression "lVar3 + 0x360" identifier + number_literal) ))))) ;) (expression_statement "pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red;" (assignment_expression "pQVar11[*(long *)(lVar4 + 8)] = (float)local_98.red" (subscript_expression "pQVar11[*(long *)(lVar4 + 8)]" identifier [ (pointer_expression "*(long *)(lVar4 + 8)" * (cast_expression "(long *)(lVar4 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 8)" ( (binary_expression "lVar4 + 8" identifier + number_literal) )))) ]) = (cast_expression "(float)local_98.red" ( (type_descriptor "float" primitive_type) ) (field_expression "local_98.red" identifier . field_identifier))) ;) (expression_statement "pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green;" (assignment_expression "pQVar11[*(long *)(lVar4 + 0x18)] = (float)local_98.green" (subscript_expression "pQVar11[*(long *)(lVar4 + 0x18)]" identifier [ (pointer_expression "*(long *)(lVar4 + 0x18)" * (cast_expression "(long *)(lVar4 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x18)" ( (binary_expression "lVar4 + 0x18" identifier + number_literal) )))) ]) = (cast_expression "(float)local_98.green" ( (type_descriptor "float" primitive_type) ) (field_expression "local_98.green" identifier . field_identifier))) ;) (expression_statement "pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue;" (assignment_expression "pQVar11[*(long *)(lVar4 + 0x28)] = (float)local_98.blue" (subscript_expression "pQVar11[*(long *)(lVar4 + 0x28)]" identifier [ (pointer_expression "*(long *)(lVar4 + 0x28)" * (cast_expression "(long *)(lVar4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x28)" ( (binary_expression "lVar4 + 0x28" identifier + number_literal) )))) ]) = (cast_expression "(float)local_98.blue" ( (type_descriptor "float" primitive_type) ) (field_expression "local_98.blue" identifier . field_identifier))) ;) (if_statement "if (*(int *)(lVar4 + 0x34) != 0) {\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }" if (parenthesized_expression "(*(int *)(lVar4 + 0x34) != 0)" ( (binary_expression "*(int *)(lVar4 + 0x34) != 0" (pointer_expression "*(int *)(lVar4 + 0x34)" * (cast_expression "(int *)(lVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x34)" ( (binary_expression "lVar4 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;\n              }" { (expression_statement "pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black;" (assignment_expression "pQVar11[*(long *)(lVar4 + 0x38)] = (float)local_98.black" (subscript_expression "pQVar11[*(long *)(lVar4 + 0x38)]" identifier [ (pointer_expression "*(long *)(lVar4 + 0x38)" * (cast_expression "(long *)(lVar4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x38)" ( (binary_expression "lVar4 + 0x38" identifier + number_literal) )))) ]) = (cast_expression "(float)local_98.black" ( (type_descriptor "float" primitive_type) ) (field_expression "local_98.black" identifier . field_identifier))) ;) })) (if_statement "if (*(int *)(lVar4 + 0x44) != 0) {\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }" if (parenthesized_expression "(*(int *)(lVar4 + 0x44) != 0)" ( (binary_expression "*(int *)(lVar4 + 0x44) != 0" (pointer_expression "*(int *)(lVar4 + 0x44)" * (cast_expression "(int *)(lVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x44)" ( (binary_expression "lVar4 + 0x44" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                QVar14 = _DAT_003fa400;\n                if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }\n                pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;\n              }" { (expression_statement "QVar14 = _DAT_003fa400;" (assignment_expression "QVar14 = _DAT_003fa400" identifier = identifier) ;) (if_statement "if (local_98.alpha_trait != UndefinedPixelTrait) {\n                  QVar14 = (Quantum)local_98.alpha;\n                }" if (parenthesized_expression "(local_98.alpha_trait != UndefinedPixelTrait)" ( (binary_expression "local_98.alpha_trait != UndefinedPixelTrait" (field_expression "local_98.alpha_trait" identifier . field_identifier) != identifier) )) (compound_statement "{\n                  QVar14 = (Quantum)local_98.alpha;\n                }" { (expression_statement "QVar14 = (Quantum)local_98.alpha;" (assignment_expression "QVar14 = (Quantum)local_98.alpha" identifier = (cast_expression "(Quantum)local_98.alpha" ( (type_descriptor "Quantum" type_identifier) ) (field_expression "local_98.alpha" identifier . field_identifier))) ;) })) (expression_statement "pQVar11[*(long *)(lVar4 + 0x48)] = QVar14;" (assignment_expression "pQVar11[*(long *)(lVar4 + 0x48)] = QVar14" (subscript_expression "pQVar11[*(long *)(lVar4 + 0x48)]" identifier [ (pointer_expression "*(long *)(lVar4 + 0x48)" * (cast_expression "(long *)(lVar4 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x48)" ( (binary_expression "lVar4 + 0x48" identifier + number_literal) )))) ]) = identifier) ;) })) (expression_statement "pQVar10 = pQVar10 + image->number_channels;" (assignment_expression "pQVar10 = pQVar10 + image->number_channels" identifier = (binary_expression "pQVar10 + image->number_channels" identifier + (field_expression "image->number_channels" identifier -> field_identifier))) ;) (expression_statement "pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340);" (assignment_expression "pQVar11 = pQVar11 + *(long *)(lVar3 + 0x340)" identifier = (binary_expression "pQVar11 + *(long *)(lVar3 + 0x340)" identifier + (pointer_expression "*(long *)(lVar3 + 0x340)" * (cast_expression "(long *)(lVar3 + 0x340)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x340)" ( (binary_expression "lVar3 + 0x340" identifier + number_literal) )))))) ;) (expression_statement "lVar13 = lVar13 + 1;" (assignment_expression "lVar13 = lVar13 + 1" identifier = (binary_expression "lVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar13 < (long)image->columns)" ( (binary_expression "lVar13 < (long)image->columns" identifier < (cast_expression "(long)image->columns" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "image->columns" identifier -> field_identifier))) )) ;) })) (expression_statement "MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception);" (assignment_expression "MVar8 = SyncCacheViewAuthenticPixels(cache_view_00,exception)" identifier = (call_expression "SyncCacheViewAuthenticPixels(cache_view_00,exception)" identifier (argument_list "(cache_view_00,exception)" ( identifier , identifier )))) ;) (if_statement "if (MVar8 == MagickFalse) {\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }" if (parenthesized_expression "(MVar8 == MagickFalse)" ( (binary_expression "MVar8 == MagickFalse" identifier == identifier) )) (compound_statement "{\n            *(undefined4 *)((long)this + 0x38) = 0;\n          }" { (expression_statement "*(undefined4 *)((long)this + 0x38) = 0;" (assignment_expression "*(undefined4 *)((long)this + 0x38) = 0" (pointer_expression "*(undefined4 *)((long)this + 0x38)" * (cast_expression "(undefined4 *)((long)this + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)this + 0x38)" ( (binary_expression "(long)this + 0x38" (cast_expression "(long)this" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) })) }))) })) (expression_statement "lVar12 = lVar12 + 1;" (assignment_expression "lVar12 = lVar12 + 1" identifier = (binary_expression "lVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar9 != lVar12)" ( (binary_expression "lVar9 != lVar12" identifier != identifier) )) ;) })) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00219cd5(undefined8 *param_1)\n\n{\n  undefined4 *puVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  long lVar8;\n  int iVar9;\n  int iVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long lVar14;\n  long lVar15;\n  long in_FS_OFFSET;\n  float fVar16;\n  undefined4 local_98;\n  undefined4 local_94;\n  int local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar1 = (undefined4 *)param_1[3];\n  lVar14 = *(long *)(puVar1 + 10);\n  iVar9 = omp_get_num_threads();\n  iVar10 = omp_get_thread_num();\n  lVar11 = lVar14 / (long)iVar9;\n  lVar14 = lVar14 % (long)iVar9;\n  if (iVar10 < lVar14) {\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }\n  lVar14 = iVar10 * lVar11 + lVar14;\n  lVar11 = lVar11 + lVar14;\n  if (lVar14 < lVar11) {\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}\n\n" (function_definition "void FUN_00219cd5(undefined8 *param_1)\n\n{\n  undefined4 *puVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  long lVar8;\n  int iVar9;\n  int iVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long lVar14;\n  long lVar15;\n  long in_FS_OFFSET;\n  float fVar16;\n  undefined4 local_98;\n  undefined4 local_94;\n  int local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar1 = (undefined4 *)param_1[3];\n  lVar14 = *(long *)(puVar1 + 10);\n  iVar9 = omp_get_num_threads();\n  iVar10 = omp_get_thread_num();\n  lVar11 = lVar14 / (long)iVar9;\n  lVar14 = lVar14 % (long)iVar9;\n  if (iVar10 < lVar14) {\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }\n  lVar14 = iVar10 * lVar11 + lVar14;\n  lVar11 = lVar11 + lVar14;\n  if (lVar14 < lVar11) {\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00219cd5(undefined8 *param_1)" identifier (parameter_list "(undefined8 *param_1)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  long lVar8;\n  int iVar9;\n  int iVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long lVar14;\n  long lVar15;\n  long in_FS_OFFSET;\n  float fVar16;\n  undefined4 local_98;\n  undefined4 local_94;\n  int local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar1 = (undefined4 *)param_1[3];\n  lVar14 = *(long *)(puVar1 + 10);\n  iVar9 = omp_get_num_threads();\n  iVar10 = omp_get_thread_num();\n  lVar11 = lVar14 / (long)iVar9;\n  lVar14 = lVar14 % (long)iVar9;\n  if (iVar10 < lVar14) {\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }\n  lVar14 = iVar10 * lVar11 + lVar14;\n  lVar11 = lVar11 + lVar14;\n  if (lVar14 < lVar11) {\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar14;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "float fVar16;" primitive_type identifier ;) (declaration "undefined4 local_98;" type_identifier identifier ;) (declaration "undefined4 local_94;" type_identifier identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined8 local_80;" type_identifier identifier ;) (declaration "double local_70;" primitive_type identifier ;) (declaration "double local_68;" primitive_type identifier ;) (declaration "double local_60;" primitive_type identifier ;) (declaration "double local_58;" primitive_type identifier ;) (declaration "double local_50;" primitive_type identifier ;) (declaration "double local_48;" primitive_type identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar1 = (undefined4 *)param_1[3];" (assignment_expression "puVar1 = (undefined4 *)param_1[3]" identifier = (cast_expression "(undefined4 *)param_1[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "lVar14 = *(long *)(puVar1 + 10);" (assignment_expression "lVar14 = *(long *)(puVar1 + 10)" identifier = (pointer_expression "*(long *)(puVar1 + 10)" * (cast_expression "(long *)(puVar1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 10)" ( (binary_expression "puVar1 + 10" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = omp_get_num_threads();" (assignment_expression "iVar9 = omp_get_num_threads()" identifier = (call_expression "omp_get_num_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar10 = omp_get_thread_num();" (assignment_expression "iVar10 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (expression_statement "lVar11 = lVar14 / (long)iVar9;" (assignment_expression "lVar11 = lVar14 / (long)iVar9" identifier = (binary_expression "lVar14 / (long)iVar9" identifier / (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "lVar14 = lVar14 % (long)iVar9;" (assignment_expression "lVar14 = lVar14 % (long)iVar9" identifier = (binary_expression "lVar14 % (long)iVar9" identifier % (cast_expression "(long)iVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if (iVar10 < lVar14) {\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }" if (parenthesized_expression "(iVar10 < lVar14)" ( (binary_expression "iVar10 < lVar14" identifier < identifier) )) (compound_statement "{\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }" { (expression_statement "lVar11 = lVar11 + 1;" (assignment_expression "lVar11 = lVar11 + 1" identifier = (binary_expression "lVar11 + 1" identifier + number_literal)) ;) (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;) })) (expression_statement "lVar14 = iVar10 * lVar11 + lVar14;" (assignment_expression "lVar14 = iVar10 * lVar11 + lVar14" identifier = (binary_expression "iVar10 * lVar11 + lVar14" (binary_expression "iVar10 * lVar11" identifier * identifier) + identifier)) ;) (expression_statement "lVar11 = lVar11 + lVar14;" (assignment_expression "lVar11 = lVar11 + lVar14" identifier = (binary_expression "lVar11 + lVar14" identifier + identifier)) ;) (if_statement "if (lVar14 < lVar11) {\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }" if (parenthesized_expression "(lVar14 < lVar11)" ( (binary_expression "lVar14 < lVar11" identifier < identifier) )) (compound_statement "{\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }" { (expression_statement "uVar2 = param_1[6];" (assignment_expression "uVar2 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "lVar3 = param_1[5];" (assignment_expression "lVar3 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[4];" (assignment_expression "uVar4 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "lVar5 = param_1[2];" (assignment_expression "lVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[1];" (assignment_expression "uVar6 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (do_statement "do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);" do (compound_statement "{\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    }" { (if_statement "if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }" if (parenthesized_expression "(*(int *)(param_1 + 7) != 0)" ( (binary_expression "*(int *)(param_1 + 7) != 0" (pointer_expression "*(int *)(param_1 + 7)" * (cast_expression "(int *)(param_1 + 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }" { (expression_statement "lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);" (assignment_expression "lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" identifier = (call_expression "GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" identifier (argument_list "(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined8 *)(puVar1 + 8)" * (cast_expression "(undefined8 *)(puVar1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 8)" ( (binary_expression "puVar1 + 8" identifier + number_literal) )))) , number_literal , identifier )))) ;) (expression_statement "lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);" (assignment_expression "lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" identifier = (call_expression "QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" identifier (argument_list "(uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" ( identifier , identifier , (binary_expression "lVar3 + lVar14" identifier + identifier) , (pointer_expression "*(undefined8 *)(puVar1 + 8)" * (cast_expression "(undefined8 *)(puVar1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 8)" ( (binary_expression "puVar1 + 8" identifier + number_literal) )))) , number_literal , identifier )))) ;) (if_statement "if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }" if (parenthesized_expression "((lVar12 == 0) || (lVar13 == 0))" ( (binary_expression "(lVar12 == 0) || (lVar13 == 0)" (parenthesized_expression "(lVar12 == 0)" ( (binary_expression "lVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          *(undefined4 *)(param_1 + 7) = 0;\n        }" { (expression_statement "*(undefined4 *)(param_1 + 7) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 7) = 0" (pointer_expression "*(undefined4 *)(param_1 + 7)" * (cast_expression "(undefined4 *)(param_1 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }" else (compound_statement "{\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }" { (expression_statement "GetPixelInfo(puVar1,&local_98);" (call_expression "GetPixelInfo(puVar1,&local_98)" identifier (argument_list "(puVar1,&local_98)" ( identifier , (pointer_expression "&local_98" & identifier) ))) ;) (expression_statement "lVar15 = 0;" (assignment_expression "lVar15 = 0" identifier = number_literal) ;) (if_statement "if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }" if (parenthesized_expression "(0 < *(long *)(puVar1 + 8))" ( (binary_expression "0 < *(long *)(puVar1 + 8)" number_literal < (pointer_expression "*(long *)(puVar1 + 8)" * (cast_expression "(long *)(puVar1 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 8)" ( (binary_expression "puVar1 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }" { (do_statement "do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));" do (compound_statement "{\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            }" { (expression_statement "ResetMagickMemory(&local_98,0,0x58);" (call_expression "ResetMagickMemory(&local_98,0,0x58)" identifier (argument_list "(&local_98,0,0x58)" ( (pointer_expression "&local_98" & identifier) , number_literal , number_literal ))) ;) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" identifier = number_literal) ;) (expression_statement "local_94 = 0x17;" (assignment_expression "local_94 = 0x17" identifier = number_literal) ;) (expression_statement "local_80 = 0x10;" (assignment_expression "local_80 = 0x10" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_50 = DAT_003f95f8;" (assignment_expression "local_50 = DAT_003f95f8" identifier = identifier) ;) (if_statement "if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }" if (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" ( (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }" { (expression_statement "local_98 = *puVar1;" (assignment_expression "local_98 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "local_94 = puVar1[1];" (assignment_expression "local_94 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "local_88 = *(undefined8 *)(puVar1 + 0xa6);" (assignment_expression "local_88 = *(undefined8 *)(puVar1 + 0xa6)" identifier = (pointer_expression "*(undefined8 *)(puVar1 + 0xa6)" * (cast_expression "(undefined8 *)(puVar1 + 0xa6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0xa6)" ( (binary_expression "puVar1 + 0xa6" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined8 *)(puVar1 + 0xc);" (assignment_expression "local_80 = *(undefined8 *)(puVar1 + 0xc)" identifier = (pointer_expression "*(undefined8 *)(puVar1 + 0xc)" * (cast_expression "(undefined8 *)(puVar1 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0xc)" ( (binary_expression "puVar1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_90 = puVar1[0xcf];" (assignment_expression "local_90 = puVar1[0xcf]" identifier = (subscript_expression "puVar1[0xcf]" identifier [ number_literal ])) ;) (if_statement "if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }" if (parenthesized_expression "(lVar12 != 0)" ( (binary_expression "lVar12 != 0" identifier != number_literal) )) (compound_statement "{\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }" { (expression_statement "lVar8 = *(long *)(puVar1 + 0xd8);" (assignment_expression "lVar8 = *(long *)(puVar1 + 0xd8)" identifier = (pointer_expression "*(long *)(puVar1 + 0xd8)" * (cast_expression "(long *)(puVar1 + 0xd8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0xd8)" ( (binary_expression "puVar1 + 0xd8" identifier + number_literal) ))))) ;) (expression_statement "local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);" (assignment_expression "local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 8) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 8) * 4" identifier + (binary_expression "*(long *)(lVar8 + 8) * 4" (pointer_expression "*(long *)(lVar8 + 8)" * (cast_expression "(long *)(lVar8 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 8)" ( (binary_expression "lVar8 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);" (assignment_expression "local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x18) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 0x18) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x18) * 4" (pointer_expression "*(long *)(lVar8 + 0x18)" * (cast_expression "(long *)(lVar8 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x18)" ( (binary_expression "lVar8 + 0x18" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);" (assignment_expression "local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x28) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 0x28) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x28) * 4" (pointer_expression "*(long *)(lVar8 + 0x28)" * (cast_expression "(long *)(lVar8 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x28)" ( (binary_expression "lVar8 + 0x28" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }" if (parenthesized_expression "(*(int *)(lVar8 + 0x34) != 0)" ( (binary_expression "*(int *)(lVar8 + 0x34) != 0" (pointer_expression "*(int *)(lVar8 + 0x34)" * (cast_expression "(int *)(lVar8 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x34)" ( (binary_expression "lVar8 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }" { (expression_statement "local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);" (assignment_expression "local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x38) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 0x38) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x38) * 4" (pointer_expression "*(long *)(lVar8 + 0x38)" * (cast_expression "(long *)(lVar8 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x38)" ( (binary_expression "lVar8 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }" if (parenthesized_expression "(*(int *)(lVar8 + 0x44) != 0)" ( (binary_expression "*(int *)(lVar8 + 0x44) != 0" (pointer_expression "*(int *)(lVar8 + 0x44)" * (cast_expression "(int *)(lVar8 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x44)" ( (binary_expression "lVar8 + 0x44" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }" { (expression_statement "local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);" (assignment_expression "local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x48) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 0x48) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x48) * 4" (pointer_expression "*(long *)(lVar8 + 0x48)" * (cast_expression "(long *)(lVar8 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x48)" ( (binary_expression "lVar8 + 0x48" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "local_90 = 4;" (assignment_expression "local_90 = 4" identifier = number_literal) ;) })) (if_statement "if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }" if (parenthesized_expression "(*(int *)(lVar8 + 0x54) != 0)" ( (binary_expression "*(int *)(lVar8 + 0x54) != 0" (pointer_expression "*(int *)(lVar8 + 0x54)" * (cast_expression "(int *)(lVar8 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x54)" ( (binary_expression "lVar8 + 0x54" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }" { (expression_statement "local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);" (assignment_expression "local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" identifier = (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" * (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x58) * 4)" ( (binary_expression "lVar12 + *(long *)(lVar8 + 0x58) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x58) * 4" (pointer_expression "*(long *)(lVar8 + 0x58)" * (cast_expression "(long *)(lVar8 + 0x58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x58)" ( (binary_expression "lVar8 + 0x58" identifier + number_literal) )))) * number_literal)) )))))) ;) })) })) })) (expression_statement "lVar8 = *(long *)(lVar5 + 0x360);" (assignment_expression "lVar8 = *(long *)(lVar5 + 0x360)" identifier = (pointer_expression "*(long *)(lVar5 + 0x360)" * (cast_expression "(long *)(lVar5 + 0x360)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x360)" ( (binary_expression "lVar5 + 0x360" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 8) * 4)" * (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 8) * 4)" ( (binary_expression "lVar13 + *(long *)(lVar8 + 8) * 4" identifier + (binary_expression "*(long *)(lVar8 + 8) * 4" (pointer_expression "*(long *)(lVar8 + 8)" * (cast_expression "(long *)(lVar8 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 8)" ( (binary_expression "lVar8 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)local_70" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4)" * (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x18) * 4)" ( (binary_expression "lVar13 + *(long *)(lVar8 + 0x18) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x18) * 4" (pointer_expression "*(long *)(lVar8 + 0x18)" * (cast_expression "(long *)(lVar8 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x18)" ( (binary_expression "lVar8 + 0x18" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)local_68" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4)" * (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x28) * 4)" ( (binary_expression "lVar13 + *(long *)(lVar8 + 0x28) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x28) * 4" (pointer_expression "*(long *)(lVar8 + 0x28)" * (cast_expression "(long *)(lVar8 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x28)" ( (binary_expression "lVar8 + 0x28" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)local_60" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }" if (parenthesized_expression "(*(int *)(lVar8 + 0x34) != 0)" ( (binary_expression "*(int *)(lVar8 + 0x34) != 0" (pointer_expression "*(int *)(lVar8 + 0x34)" * (cast_expression "(int *)(lVar8 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x34)" ( (binary_expression "lVar8 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }" { (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4)" * (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x38) * 4)" ( (binary_expression "lVar13 + *(long *)(lVar8 + 0x38) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x38) * 4" (pointer_expression "*(long *)(lVar8 + 0x38)" * (cast_expression "(long *)(lVar8 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x38)" ( (binary_expression "lVar8 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)local_58" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (if_statement "if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }" if (parenthesized_expression "(*(int *)(lVar8 + 0x44) != 0)" ( (binary_expression "*(int *)(lVar8 + 0x44) != 0" (pointer_expression "*(int *)(lVar8 + 0x44)" * (cast_expression "(int *)(lVar8 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x44)" ( (binary_expression "lVar8 + 0x44" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }" { (expression_statement "fVar16 = _DAT_003fa400;" (assignment_expression "fVar16 = _DAT_003fa400" identifier = identifier) ;) (if_statement "if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }" if (parenthesized_expression "(local_90 != 0)" ( (binary_expression "local_90 != 0" identifier != number_literal) )) (compound_statement "{\n                  fVar16 = (float)local_50;\n                }" { (expression_statement "fVar16 = (float)local_50;" (assignment_expression "fVar16 = (float)local_50" identifier = (cast_expression "(float)local_50" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4)" * (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x48) * 4)" ( (binary_expression "lVar13 + *(long *)(lVar8 + 0x48) * 4" identifier + (binary_expression "*(long *)(lVar8 + 0x48) * 4" (pointer_expression "*(long *)(lVar8 + 0x48)" * (cast_expression "(long *)(lVar8 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar8 + 0x48)" ( (binary_expression "lVar8 + 0x48" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;) })) (expression_statement "lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;" (assignment_expression "lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4" identifier = (binary_expression "lVar12 + *(long *)(puVar1 + 0xd0) * 4" identifier + (binary_expression "*(long *)(puVar1 + 0xd0) * 4" (pointer_expression "*(long *)(puVar1 + 0xd0)" * (cast_expression "(long *)(puVar1 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0xd0)" ( (binary_expression "puVar1 + 0xd0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;" (assignment_expression "lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4" identifier = (binary_expression "lVar13 + *(long *)(lVar5 + 0x340) * 4" identifier + (binary_expression "*(long *)(lVar5 + 0x340) * 4" (pointer_expression "*(long *)(lVar5 + 0x340)" * (cast_expression "(long *)(lVar5 + 0x340)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x340)" ( (binary_expression "lVar5 + 0x340" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "lVar15 = lVar15 + 1;" (assignment_expression "lVar15 = lVar15 + 1" identifier = (binary_expression "lVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar15 < *(long *)(puVar1 + 8))" ( (binary_expression "lVar15 < *(long *)(puVar1 + 8)" identifier < (pointer_expression "*(long *)(puVar1 + 8)" * (cast_expression "(long *)(puVar1 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 8)" ( (binary_expression "puVar1 + 8" identifier + number_literal) ))))) )) ;) })) (expression_statement "iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);" (assignment_expression "iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7)" identifier = (call_expression "SyncCacheViewAuthenticPixels(uVar6,uVar7)" identifier (argument_list "(uVar6,uVar7)" ( identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)(param_1 + 7) = 0;\n          }" { (expression_statement "*(undefined4 *)(param_1 + 7) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 7) = 0" (pointer_expression "*(undefined4 *)(param_1 + 7)" * (cast_expression "(undefined4 *)(param_1 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) = number_literal) ;) })) }))) })) (expression_statement "lVar14 = lVar14 + 1;" (assignment_expression "lVar14 = lVar14 + 1" identifier = (binary_expression "lVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar11 != lVar14)" ( (binary_expression "lVar11 != lVar14" identifier != identifier) )) ;) })) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" { (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT / (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) 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 (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) 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 (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return ;) })))
(function_definition "void FUN_00219cd5(undefined8 *param_1)\n\n{\n  undefined4 *puVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  long lVar8;\n  int iVar9;\n  int iVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long lVar14;\n  long lVar15;\n  long in_FS_OFFSET;\n  float fVar16;\n  undefined4 local_98;\n  undefined4 local_94;\n  int local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar1 = (undefined4 *)param_1[3];\n  lVar14 = *(long *)(puVar1 + 10);\n  iVar9 = omp_get_num_threads();\n  iVar10 = omp_get_thread_num();\n  lVar11 = lVar14 / (long)iVar9;\n  lVar14 = lVar14 % (long)iVar9;\n  if (iVar10 < lVar14) {\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }\n  lVar14 = iVar10 * lVar11 + lVar14;\n  lVar11 = lVar11 + lVar14;\n  if (lVar14 < lVar11) {\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00219cd5(undefined8 *param_1)" (identifier "FUN_00219cd5") (parameter_list "(undefined8 *param_1)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined8 uVar2;\n  long lVar3;\n  undefined8 uVar4;\n  long lVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  long lVar8;\n  int iVar9;\n  int iVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long lVar14;\n  long lVar15;\n  long in_FS_OFFSET;\n  float fVar16;\n  undefined4 local_98;\n  undefined4 local_94;\n  int local_90;\n  undefined8 local_88;\n  undefined8 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar1 = (undefined4 *)param_1[3];\n  lVar14 = *(long *)(puVar1 + 10);\n  iVar9 = omp_get_num_threads();\n  iVar10 = omp_get_thread_num();\n  lVar11 = lVar14 / (long)iVar9;\n  lVar14 = lVar14 % (long)iVar9;\n  if (iVar10 < lVar14) {\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }\n  lVar14 = iVar10 * lVar11 + lVar14;\n  lVar11 = lVar11 + lVar14;\n  if (lVar14 < lVar11) {\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "long lVar3;" (sized_type_specifier "long" (long "long")) (identifier "lVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "long lVar8;" (sized_type_specifier "long" (long "long")) (identifier "lVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "long lVar11;" (sized_type_specifier "long" (long "long")) (identifier "lVar11") (; ";")) (declaration "long lVar12;" (sized_type_specifier "long" (long "long")) (identifier "lVar12") (; ";")) (declaration "long lVar13;" (sized_type_specifier "long" (long "long")) (identifier "lVar13") (; ";")) (declaration "long lVar14;" (sized_type_specifier "long" (long "long")) (identifier "lVar14") (; ";")) (declaration "long lVar15;" (sized_type_specifier "long" (long "long")) (identifier "lVar15") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "float fVar16;" (primitive_type "float") (identifier "fVar16") (; ";")) (declaration "undefined4 local_98;" (type_identifier "undefined4") (identifier "local_98") (; ";")) (declaration "undefined4 local_94;" (type_identifier "undefined4") (identifier "local_94") (; ";")) (declaration "int local_90;" (primitive_type "int") (identifier "local_90") (; ";")) (declaration "undefined8 local_88;" (type_identifier "undefined8") (identifier "local_88") (; ";")) (declaration "undefined8 local_80;" (type_identifier "undefined8") (identifier "local_80") (; ";")) (declaration "double local_70;" (primitive_type "double") (identifier "local_70") (; ";")) (declaration "double local_68;" (primitive_type "double") (identifier "local_68") (; ";")) (declaration "double local_60;" (primitive_type "double") (identifier "local_60") (; ";")) (declaration "double local_58;" (primitive_type "double") (identifier "local_58") (; ";")) (declaration "double local_50;" (primitive_type "double") (identifier "local_50") (; ";")) (declaration "double local_48;" (primitive_type "double") (identifier "local_48") (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar1 = (undefined4 *)param_1[3];" (assignment_expression "puVar1 = (undefined4 *)param_1[3]" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)param_1[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "lVar14 = *(long *)(puVar1 + 10);" (assignment_expression "lVar14 = *(long *)(puVar1 + 10)" (identifier "lVar14") (= "=") (pointer_expression "*(long *)(puVar1 + 10)" (* "*") (cast_expression "(long *)(puVar1 + 10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 10)" (( "(") (binary_expression "puVar1 + 10" (identifier "puVar1") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "iVar9 = omp_get_num_threads();" (assignment_expression "iVar9 = omp_get_num_threads()" (identifier "iVar9") (= "=") (call_expression "omp_get_num_threads()" (identifier "omp_get_num_threads") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar10 = omp_get_thread_num();" (assignment_expression "iVar10 = omp_get_thread_num()" (identifier "iVar10") (= "=") (call_expression "omp_get_thread_num()" (identifier "omp_get_thread_num") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "lVar11 = lVar14 / (long)iVar9;" (assignment_expression "lVar11 = lVar14 / (long)iVar9" (identifier "lVar11") (= "=") (binary_expression "lVar14 / (long)iVar9" (identifier "lVar14") (/ "/") (cast_expression "(long)iVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar9")))) (; ";")) (expression_statement "lVar14 = lVar14 % (long)iVar9;" (assignment_expression "lVar14 = lVar14 % (long)iVar9" (identifier "lVar14") (= "=") (binary_expression "lVar14 % (long)iVar9" (identifier "lVar14") (% "%") (cast_expression "(long)iVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar9")))) (; ";")) (if_statement "if (iVar10 < lVar14) {\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }" (if "if") (parenthesized_expression "(iVar10 < lVar14)" (( "(") (binary_expression "iVar10 < lVar14" (identifier "iVar10") (< "<") (identifier "lVar14")) () ")")) (compound_statement "{\n    lVar11 = lVar11 + 1;\n    lVar14 = 0;\n  }" ({ "{") (expression_statement "lVar11 = lVar11 + 1;" (assignment_expression "lVar11 = lVar11 + 1" (identifier "lVar11") (= "=") (binary_expression "lVar11 + 1" (identifier "lVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" (identifier "lVar14") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "lVar14 = iVar10 * lVar11 + lVar14;" (assignment_expression "lVar14 = iVar10 * lVar11 + lVar14" (identifier "lVar14") (= "=") (binary_expression "iVar10 * lVar11 + lVar14" (binary_expression "iVar10 * lVar11" (identifier "iVar10") (* "*") (identifier "lVar11")) (+ "+") (identifier "lVar14"))) (; ";")) (expression_statement "lVar11 = lVar11 + lVar14;" (assignment_expression "lVar11 = lVar11 + lVar14" (identifier "lVar11") (= "=") (binary_expression "lVar11 + lVar14" (identifier "lVar11") (+ "+") (identifier "lVar14"))) (; ";")) (if_statement "if (lVar14 < lVar11) {\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }" (if "if") (parenthesized_expression "(lVar14 < lVar11)" (( "(") (binary_expression "lVar14 < lVar11" (identifier "lVar14") (< "<") (identifier "lVar11")) () ")")) (compound_statement "{\n    uVar2 = param_1[6];\n    lVar3 = param_1[5];\n    uVar4 = param_1[4];\n    lVar5 = param_1[2];\n    uVar6 = param_1[1];\n    uVar7 = *param_1;\n    do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);\n  }" ({ "{") (expression_statement "uVar2 = param_1[6];" (assignment_expression "uVar2 = param_1[6]" (identifier "uVar2") (= "=") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "lVar3 = param_1[5];" (assignment_expression "lVar3 = param_1[5]" (identifier "lVar3") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "uVar4 = param_1[4];" (assignment_expression "uVar4 = param_1[4]" (identifier "uVar4") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "lVar5 = param_1[2];" (assignment_expression "lVar5 = param_1[2]" (identifier "lVar5") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar6 = param_1[1];" (assignment_expression "uVar6 = param_1[1]" (identifier "uVar6") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" (identifier "uVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (do_statement "do {\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    } while (lVar11 != lVar14);" (do "do") (compound_statement "{\n      if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }\n      lVar14 = lVar14 + 1;\n    }" ({ "{") (if_statement "if (*(int *)(param_1 + 7) != 0) {\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 7) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 7) != 0" (pointer_expression "*(int *)(param_1 + 7)" (* "*") (cast_expression "(int *)(param_1 + 7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);\n        if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }\n      }" ({ "{") (expression_statement "lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);" (assignment_expression "lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" (identifier "lVar12") (= "=") (call_expression "GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" (identifier "GetCacheViewVirtualPixels") (argument_list "(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" (( "(") (identifier "uVar2") (, ",") (number_literal "0") (, ",") (identifier "lVar14") (, ",") (pointer_expression "*(undefined8 *)(puVar1 + 8)" (* "*") (cast_expression "(undefined8 *)(puVar1 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 8)" (( "(") (binary_expression "puVar1 + 8" (identifier "puVar1") (+ "+") (number_literal "8")) () ")")))) (, ",") (number_literal "1") (, ",") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);" (assignment_expression "lVar13 = QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" (identifier "lVar13") (= "=") (call_expression "QueueCacheViewAuthenticPixels\n                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" (identifier "QueueCacheViewAuthenticPixels") (argument_list "(uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar4") (, ",") (binary_expression "lVar3 + lVar14" (identifier "lVar3") (+ "+") (identifier "lVar14")) (, ",") (pointer_expression "*(undefined8 *)(puVar1 + 8)" (* "*") (cast_expression "(undefined8 *)(puVar1 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 8)" (( "(") (binary_expression "puVar1 + 8" (identifier "puVar1") (+ "+") (number_literal "8")) () ")")))) (, ",") (number_literal "1") (, ",") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if ((lVar12 == 0) || (lVar13 == 0)) {\n          *(undefined4 *)(param_1 + 7) = 0;\n        }\n        else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }" (if "if") (parenthesized_expression "((lVar12 == 0) || (lVar13 == 0))" (( "(") (binary_expression "(lVar12 == 0) || (lVar13 == 0)" (parenthesized_expression "(lVar12 == 0)" (( "(") (binary_expression "lVar12 == 0" (identifier "lVar12") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          *(undefined4 *)(param_1 + 7) = 0;\n        }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 7) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 7) = 0" (pointer_expression "*(undefined4 *)(param_1 + 7)" (* "*") (cast_expression "(undefined4 *)(param_1 + 7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }" (else "else") (compound_statement "{\n          GetPixelInfo(puVar1,&local_98);\n          lVar15 = 0;\n          if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }\n          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);\n          if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }\n        }" ({ "{") (expression_statement "GetPixelInfo(puVar1,&local_98);" (call_expression "GetPixelInfo(puVar1,&local_98)" (identifier "GetPixelInfo") (argument_list "(puVar1,&local_98)" (( "(") (identifier "puVar1") (, ",") (pointer_expression "&local_98" (& "&") (identifier "local_98")) () ")"))) (; ";")) (expression_statement "lVar15 = 0;" (assignment_expression "lVar15 = 0" (identifier "lVar15") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < *(long *)(puVar1 + 8)) {\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }" (if "if") (parenthesized_expression "(0 < *(long *)(puVar1 + 8))" (( "(") (binary_expression "0 < *(long *)(puVar1 + 8)" (number_literal "0") (< "<") (pointer_expression "*(long *)(puVar1 + 8)" (* "*") (cast_expression "(long *)(puVar1 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 8)" (( "(") (binary_expression "puVar1 + 8" (identifier "puVar1") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n            do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));\n          }" ({ "{") (do_statement "do {\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            } while (lVar15 < *(long *)(puVar1 + 8));" (do "do") (compound_statement "{\n              ResetMagickMemory(&local_98,0,0x58);\n              local_98 = 1;\n              local_94 = 0x17;\n              local_80 = 0x10;\n              local_90 = 0;\n              local_50 = DAT_003f95f8;\n              if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }\n              lVar8 = *(long *)(lVar5 + 0x360);\n              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;\n              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;\n              if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }\n              if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }\n              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;\n              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;\n              lVar15 = lVar15 + 1;\n            }" ({ "{") (expression_statement "ResetMagickMemory(&local_98,0,0x58);" (call_expression "ResetMagickMemory(&local_98,0,0x58)" (identifier "ResetMagickMemory") (argument_list "(&local_98,0,0x58)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (number_literal "0") (, ",") (number_literal "0x58") () ")"))) (; ";")) (expression_statement "local_98 = 1;" (assignment_expression "local_98 = 1" (identifier "local_98") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_94 = 0x17;" (assignment_expression "local_94 = 0x17" (identifier "local_94") (= "=") (number_literal "0x17")) (; ";")) (expression_statement "local_80 = 0x10;" (assignment_expression "local_80 = 0x10" (identifier "local_80") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = DAT_003f95f8;" (assignment_expression "local_50 = DAT_003f95f8" (identifier "local_50") (= "=") (identifier "DAT_003f95f8")) (; ";")) (if_statement "if (puVar1 != (undefined4 *)0x0) {\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(puVar1 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar1 != (undefined4 *)0x0" (identifier "puVar1") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                local_98 = *puVar1;\n                local_94 = puVar1[1];\n                local_88 = *(undefined8 *)(puVar1 + 0xa6);\n                local_80 = *(undefined8 *)(puVar1 + 0xc);\n                local_90 = puVar1[0xcf];\n                if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }\n              }" ({ "{") (expression_statement "local_98 = *puVar1;" (assignment_expression "local_98 = *puVar1" (identifier "local_98") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "local_94 = puVar1[1];" (assignment_expression "local_94 = puVar1[1]" (identifier "local_94") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_88 = *(undefined8 *)(puVar1 + 0xa6);" (assignment_expression "local_88 = *(undefined8 *)(puVar1 + 0xa6)" (identifier "local_88") (= "=") (pointer_expression "*(undefined8 *)(puVar1 + 0xa6)" (* "*") (cast_expression "(undefined8 *)(puVar1 + 0xa6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0xa6)" (( "(") (binary_expression "puVar1 + 0xa6" (identifier "puVar1") (+ "+") (number_literal "0xa6")) () ")"))))) (; ";")) (expression_statement "local_80 = *(undefined8 *)(puVar1 + 0xc);" (assignment_expression "local_80 = *(undefined8 *)(puVar1 + 0xc)" (identifier "local_80") (= "=") (pointer_expression "*(undefined8 *)(puVar1 + 0xc)" (* "*") (cast_expression "(undefined8 *)(puVar1 + 0xc)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0xc)" (( "(") (binary_expression "puVar1 + 0xc" (identifier "puVar1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "local_90 = puVar1[0xcf];" (assignment_expression "local_90 = puVar1[0xcf]" (identifier "local_90") (= "=") (subscript_expression "puVar1[0xcf]" (identifier "puVar1") ([ "[") (number_literal "0xcf") (] "]"))) (; ";")) (if_statement "if (lVar12 != 0) {\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }" (if "if") (parenthesized_expression "(lVar12 != 0)" (( "(") (binary_expression "lVar12 != 0" (identifier "lVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  lVar8 = *(long *)(puVar1 + 0xd8);\n                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);\n                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);\n                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);\n                  if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }\n                  if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }\n                  if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }\n                }" ({ "{") (expression_statement "lVar8 = *(long *)(puVar1 + 0xd8);" (assignment_expression "lVar8 = *(long *)(puVar1 + 0xd8)" (identifier "lVar8") (= "=") (pointer_expression "*(long *)(puVar1 + 0xd8)" (* "*") (cast_expression "(long *)(puVar1 + 0xd8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0xd8)" (( "(") (binary_expression "puVar1 + 0xd8" (identifier "puVar1") (+ "+") (number_literal "0xd8")) () ")"))))) (; ";")) (expression_statement "local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);" (assignment_expression "local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" (identifier "local_70") (= "=") (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" (* "*") (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 8) * 4)" (( "(") (binary_expression "lVar12 + *(long *)(lVar8 + 8) * 4" (identifier "lVar12") (+ "+") (binary_expression "*(long *)(lVar8 + 8) * 4" (pointer_expression "*(long *)(lVar8 + 8)" (* "*") (cast_expression "(long *)(lVar8 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 8)" (( "(") (binary_expression "lVar8 + 8" (identifier "lVar8") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);" (assignment_expression "local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" (identifier "local_68") (= "=") (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" (* "*") (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x18) * 4)" (( "(") (binary_expression "lVar12 + *(long *)(lVar8 + 0x18) * 4" (identifier "lVar12") (+ "+") (binary_expression "*(long *)(lVar8 + 0x18) * 4" (pointer_expression "*(long *)(lVar8 + 0x18)" (* "*") (cast_expression "(long *)(lVar8 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x18)" (( "(") (binary_expression "lVar8 + 0x18" (identifier "lVar8") (+ "+") (number_literal "0x18")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);" (assignment_expression "local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" (identifier "local_60") (= "=") (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" (* "*") (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x28) * 4)" (( "(") (binary_expression "lVar12 + *(long *)(lVar8 + 0x28) * 4" (identifier "lVar12") (+ "+") (binary_expression "*(long *)(lVar8 + 0x28) * 4" (pointer_expression "*(long *)(lVar8 + 0x28)" (* "*") (cast_expression "(long *)(lVar8 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x28)" (( "(") (binary_expression "lVar8 + 0x28" (identifier "lVar8") (+ "+") (number_literal "0x28")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (if_statement "if (*(int *)(lVar8 + 0x34) != 0) {\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }" (if "if") (parenthesized_expression "(*(int *)(lVar8 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(lVar8 + 0x34) != 0" (pointer_expression "*(int *)(lVar8 + 0x34)" (* "*") (cast_expression "(int *)(lVar8 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x34)" (( "(") (binary_expression "lVar8 + 0x34" (identifier "lVar8") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);\n                  }" ({ "{") (expression_statement "local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);" (assignment_expression "local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" (identifier "local_58") (= "=") (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" (* "*") (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x38) * 4)" (( "(") (binary_expression "lVar12 + *(long *)(lVar8 + 0x38) * 4" (identifier "lVar12") (+ "+") (binary_expression "*(long *)(lVar8 + 0x38) * 4" (pointer_expression "*(long *)(lVar8 + 0x38)" (* "*") (cast_expression "(long *)(lVar8 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x38)" (( "(") (binary_expression "lVar8 + 0x38" (identifier "lVar8") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(lVar8 + 0x44) != 0) {\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }" (if "if") (parenthesized_expression "(*(int *)(lVar8 + 0x44) != 0)" (( "(") (binary_expression "*(int *)(lVar8 + 0x44) != 0" (pointer_expression "*(int *)(lVar8 + 0x44)" (* "*") (cast_expression "(int *)(lVar8 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x44)" (( "(") (binary_expression "lVar8 + 0x44" (identifier "lVar8") (+ "+") (number_literal "0x44")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);\n                    local_90 = 4;\n                  }" ({ "{") (expression_statement "local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);" (assignment_expression "local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" (identifier "local_50") (= "=") (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" (* "*") (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x48) * 4)" (( "(") (binary_expression "lVar12 + *(long *)(lVar8 + 0x48) * 4" (identifier "lVar12") (+ "+") (binary_expression "*(long *)(lVar8 + 0x48) * 4" (pointer_expression "*(long *)(lVar8 + 0x48)" (* "*") (cast_expression "(long *)(lVar8 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x48)" (( "(") (binary_expression "lVar8 + 0x48" (identifier "lVar8") (+ "+") (number_literal "0x48")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "local_90 = 4;" (assignment_expression "local_90 = 4" (identifier "local_90") (= "=") (number_literal "4")) (; ";")) (} "}"))) (if_statement "if (*(int *)(lVar8 + 0x54) != 0) {\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }" (if "if") (parenthesized_expression "(*(int *)(lVar8 + 0x54) != 0)" (( "(") (binary_expression "*(int *)(lVar8 + 0x54) != 0" (pointer_expression "*(int *)(lVar8 + 0x54)" (* "*") (cast_expression "(int *)(lVar8 + 0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x54)" (( "(") (binary_expression "lVar8 + 0x54" (identifier "lVar8") (+ "+") (number_literal "0x54")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);\n                  }" ({ "{") (expression_statement "local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);" (assignment_expression "local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" (identifier "local_48") (= "=") (cast_expression "(double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" (* "*") (cast_expression "(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + *(long *)(lVar8 + 0x58) * 4)" (( "(") (binary_expression "lVar12 + *(long *)(lVar8 + 0x58) * 4" (identifier "lVar12") (+ "+") (binary_expression "*(long *)(lVar8 + 0x58) * 4" (pointer_expression "*(long *)(lVar8 + 0x58)" (* "*") (cast_expression "(long *)(lVar8 + 0x58)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x58)" (( "(") (binary_expression "lVar8 + 0x58" (identifier "lVar8") (+ "+") (number_literal "0x58")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "lVar8 = *(long *)(lVar5 + 0x360);" (assignment_expression "lVar8 = *(long *)(lVar5 + 0x360)" (identifier "lVar8") (= "=") (pointer_expression "*(long *)(lVar5 + 0x360)" (* "*") (cast_expression "(long *)(lVar5 + 0x360)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x360)" (( "(") (binary_expression "lVar5 + 0x360" (identifier "lVar5") (+ "+") (number_literal "0x360")) () ")"))))) (; ";")) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 8) * 4)" (* "*") (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 8) * 4)" (( "(") (binary_expression "lVar13 + *(long *)(lVar8 + 8) * 4" (identifier "lVar13") (+ "+") (binary_expression "*(long *)(lVar8 + 8) * 4" (pointer_expression "*(long *)(lVar8 + 8)" (* "*") (cast_expression "(long *)(lVar8 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 8)" (( "(") (binary_expression "lVar8 + 8" (identifier "lVar8") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)local_70" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_70"))) (; ";")) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4)" (* "*") (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x18) * 4)" (( "(") (binary_expression "lVar13 + *(long *)(lVar8 + 0x18) * 4" (identifier "lVar13") (+ "+") (binary_expression "*(long *)(lVar8 + 0x18) * 4" (pointer_expression "*(long *)(lVar8 + 0x18)" (* "*") (cast_expression "(long *)(lVar8 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x18)" (( "(") (binary_expression "lVar8 + 0x18" (identifier "lVar8") (+ "+") (number_literal "0x18")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)local_68" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_68"))) (; ";")) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4)" (* "*") (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x28) * 4)" (( "(") (binary_expression "lVar13 + *(long *)(lVar8 + 0x28) * 4" (identifier "lVar13") (+ "+") (binary_expression "*(long *)(lVar8 + 0x28) * 4" (pointer_expression "*(long *)(lVar8 + 0x28)" (* "*") (cast_expression "(long *)(lVar8 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x28)" (( "(") (binary_expression "lVar8 + 0x28" (identifier "lVar8") (+ "+") (number_literal "0x28")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)local_60" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_60"))) (; ";")) (if_statement "if (*(int *)(lVar8 + 0x34) != 0) {\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }" (if "if") (parenthesized_expression "(*(int *)(lVar8 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(lVar8 + 0x34) != 0" (pointer_expression "*(int *)(lVar8 + 0x34)" (* "*") (cast_expression "(int *)(lVar8 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x34)" (( "(") (binary_expression "lVar8 + 0x34" (identifier "lVar8") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;\n              }" ({ "{") (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4)" (* "*") (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x38) * 4)" (( "(") (binary_expression "lVar13 + *(long *)(lVar8 + 0x38) * 4" (identifier "lVar13") (+ "+") (binary_expression "*(long *)(lVar8 + 0x38) * 4" (pointer_expression "*(long *)(lVar8 + 0x38)" (* "*") (cast_expression "(long *)(lVar8 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x38)" (( "(") (binary_expression "lVar8 + 0x38" (identifier "lVar8") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)local_58" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_58"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(lVar8 + 0x44) != 0) {\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }" (if "if") (parenthesized_expression "(*(int *)(lVar8 + 0x44) != 0)" (( "(") (binary_expression "*(int *)(lVar8 + 0x44) != 0" (pointer_expression "*(int *)(lVar8 + 0x44)" (* "*") (cast_expression "(int *)(lVar8 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x44)" (( "(") (binary_expression "lVar8 + 0x44" (identifier "lVar8") (+ "+") (number_literal "0x44")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                fVar16 = _DAT_003fa400;\n                if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }\n                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;\n              }" ({ "{") (expression_statement "fVar16 = _DAT_003fa400;" (assignment_expression "fVar16 = _DAT_003fa400" (identifier "fVar16") (= "=") (identifier "_DAT_003fa400")) (; ";")) (if_statement "if (local_90 != 0) {\n                  fVar16 = (float)local_50;\n                }" (if "if") (parenthesized_expression "(local_90 != 0)" (( "(") (binary_expression "local_90 != 0" (identifier "local_90") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  fVar16 = (float)local_50;\n                }" ({ "{") (expression_statement "fVar16 = (float)local_50;" (assignment_expression "fVar16 = (float)local_50" (identifier "fVar16") (= "=") (cast_expression "(float)local_50" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_50"))) (; ";")) (} "}"))) (expression_statement "*(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;" (assignment_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16" (pointer_expression "*(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4)" (* "*") (cast_expression "(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + *(long *)(lVar8 + 0x48) * 4)" (( "(") (binary_expression "lVar13 + *(long *)(lVar8 + 0x48) * 4" (identifier "lVar13") (+ "+") (binary_expression "*(long *)(lVar8 + 0x48) * 4" (pointer_expression "*(long *)(lVar8 + 0x48)" (* "*") (cast_expression "(long *)(lVar8 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar8 + 0x48)" (( "(") (binary_expression "lVar8 + 0x48" (identifier "lVar8") (+ "+") (number_literal "0x48")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "fVar16")) (; ";")) (} "}"))) (expression_statement "lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;" (assignment_expression "lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4" (identifier "lVar12") (= "=") (binary_expression "lVar12 + *(long *)(puVar1 + 0xd0) * 4" (identifier "lVar12") (+ "+") (binary_expression "*(long *)(puVar1 + 0xd0) * 4" (pointer_expression "*(long *)(puVar1 + 0xd0)" (* "*") (cast_expression "(long *)(puVar1 + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0xd0)" (( "(") (binary_expression "puVar1 + 0xd0" (identifier "puVar1") (+ "+") (number_literal "0xd0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;" (assignment_expression "lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4" (identifier "lVar13") (= "=") (binary_expression "lVar13 + *(long *)(lVar5 + 0x340) * 4" (identifier "lVar13") (+ "+") (binary_expression "*(long *)(lVar5 + 0x340) * 4" (pointer_expression "*(long *)(lVar5 + 0x340)" (* "*") (cast_expression "(long *)(lVar5 + 0x340)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x340)" (( "(") (binary_expression "lVar5 + 0x340" (identifier "lVar5") (+ "+") (number_literal "0x340")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "lVar15 = lVar15 + 1;" (assignment_expression "lVar15 = lVar15 + 1" (identifier "lVar15") (= "=") (binary_expression "lVar15 + 1" (identifier "lVar15") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar15 < *(long *)(puVar1 + 8))" (( "(") (binary_expression "lVar15 < *(long *)(puVar1 + 8)" (identifier "lVar15") (< "<") (pointer_expression "*(long *)(puVar1 + 8)" (* "*") (cast_expression "(long *)(puVar1 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 8)" (( "(") (binary_expression "puVar1 + 8" (identifier "puVar1") (+ "+") (number_literal "8")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);" (assignment_expression "iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7)" (identifier "iVar9") (= "=") (call_expression "SyncCacheViewAuthenticPixels(uVar6,uVar7)" (identifier "SyncCacheViewAuthenticPixels") (argument_list "(uVar6,uVar7)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n            *(undefined4 *)(param_1 + 7) = 0;\n          }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *)(param_1 + 7) = 0;\n          }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 7) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 7) = 0" (pointer_expression "*(undefined4 *)(param_1 + 7)" (* "*") (cast_expression "(undefined4 *)(param_1 + 7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (expression_statement "lVar14 = lVar14 + 1;" (assignment_expression "lVar14 = lVar14 + 1" (identifier "lVar14") (= "=") (binary_expression "lVar14 + 1" (identifier "lVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar11 != lVar14)" (( "(") (binary_expression "lVar11 != lVar14" (identifier "lVar11") (!= "!=") (identifier "lVar14")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" (if "if") (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (!= "!=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" ({ "{") (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": 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 */
/* DWARF original prototype: void AppendImages._omp_fn.0(anon_struct_64_8_198ab8d1 * param_0) */

void __thiscall function_1(void *this)

{
  type_1 *var_14;
  size_t sVar1;
  type_2 *cache_view;
  long var_9;
  ssize_t x;
  long var_16;
  type_2 *cache_view_00;
  type_3 *exception;
  long var_17;
  type_4 *pPVar5;
  int iVar6;
  int var_4;
  type_5 var_20;
  long var_6;
  type_6 *var_10;
  type_6 *var_11;
  long var_5;
  long var_18;
  long var_1;
  type_6 QVar14;
  type_7 local_98;
  long var_22;
  
  var_22 = *(long *)(var_1 + 0x28);
  var_14 = *(type_1 **)((long)this + 0x18);
  sVar1 = var_14->rows;
  iVar6 = var_2();
  var_4 = var_3();
  var_6 = (long)sVar1 / (long)iVar6;
  var_5 = (long)sVar1 % (long)iVar6;
  if (var_4 < var_5) {
    var_6 = var_6 + 1;
    var_5 = 0;
  }
  var_5 = var_4 * var_6 + var_5;
  var_6 = var_6 + var_5;
  if (var_5 < var_6) {
    cache_view = *(type_2 **)((long)this + 0x30);
    var_9 = *(long *)((long)this + 0x28);
    x = *(ssize_t *)((long)this + 0x20);
    var_16 = *(long *)((long)this + 0x10);
    cache_view_00 = *(type_2 **)((long)this + 8);
                    /* WARNING: Load size is inaccurate */
    exception = *this;
    do {
      if (*(int *)((long)this + 0x38) != 0) {
        var_10 = var_7(cache_view,0,var_5,var_14->columns,1,exception);
        var_11 = var_8
                            (cache_view_00,x,var_9 + var_5,var_14->columns,1,exception);
        if ((var_10 == (type_6 *)0x0) || (var_11 == (type_6 *)0x0)) {
          *(type_8 *)((long)this + 0x38) = 0;
        }
        else {
          var_12(var_14,&local_98);
          var_18 = 0;
          if (0 < (long)var_14->columns) {
            do {
              var_13(&local_98,0,0x58);
              local_98.storage_class = DirectClass;
              local_98.colorspace = sRGBColorspace;
              local_98.depth = 0x10;
              local_98.alpha_trait = var_15;
              local_98.alpha = DAT_003f95f8;
              if (var_14 != (type_1 *)0x0) {
                local_98.storage_class = var_14->storage_class;
                local_98.colorspace = var_14->colorspace;
                local_98.fuzz = var_14->fuzz;
                local_98.depth = var_14->depth;
                local_98.alpha_trait = var_14->alpha_trait;
                if (var_10 != (type_6 *)0x0) {
                  pPVar5 = var_14->channel_map;
                  local_98.red = (type_9)var_10[pPVar5->offset];
                  local_98.green = (type_9)var_10[pPVar5[1].offset];
                  local_98.blue = (type_9)var_10[pPVar5[2].offset];
                  if (pPVar5[3].traits != var_15) {
                    local_98.black = (type_9)var_10[pPVar5[3].offset];
                  }
                  if (pPVar5[4].traits != var_15) {
                    local_98.alpha = (type_9)var_10[pPVar5[4].offset];
                    local_98.alpha_trait = BlendPixelTrait;
                  }
                  if (pPVar5[5].traits != var_15) {
                    local_98.index = (type_9)var_10[pPVar5[5].offset];
                  }
                }
              }
              var_17 = *(long *)(var_16 + 0x360);
              var_11[*(long *)(var_17 + 8)] = (float)local_98.red;
              var_11[*(long *)(var_17 + 0x18)] = (float)local_98.green;
              var_11[*(long *)(var_17 + 0x28)] = (float)local_98.blue;
              if (*(int *)(var_17 + 0x34) != 0) {
                var_11[*(long *)(var_17 + 0x38)] = (float)local_98.black;
              }
              if (*(int *)(var_17 + 0x44) != 0) {
                QVar14 = _DAT_003fa400;
                if (local_98.alpha_trait != var_15) {
                  QVar14 = (type_6)local_98.alpha;
                }
                var_11[*(long *)(var_17 + 0x48)] = QVar14;
              }
              var_10 = var_10 + var_14->number_channels;
              var_11 = var_11 + *(long *)(var_16 + 0x340);
              var_18 = var_18 + 1;
            } while (var_18 < (long)var_14->columns);
          }
          var_20 = var_19(cache_view_00,exception);
          if (var_20 == var_21) {
            *(type_8 *)((long)this + 0x38) = 0;
          }
        }
      }
      var_5 = var_5 + 1;
    } while (var_6 != var_5);
  }
  if (var_22 != *(long *)(var_1 + 0x28)) {
                    /* WARNING: Subroutine does not return */
    var_23();
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (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))))) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (identifier)) (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))))) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (return_statement))))

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void MASKED(undefined8 *param_1)

{
  undefined4 *puVar1;
  undefined8 uVar2;
  long lVar3;
  undefined8 uVar4;
  long lVar5;
  undefined8 uVar6;
  undefined8 uVar7;
  long lVar8;
  int iVar9;
  int iVar10;
  long lVar11;
  long lVar12;
  long lVar13;
  long lVar14;
  long lVar15;
  long in_FS_OFFSET;
  float fVar16;
  undefined4 local_98;
  undefined4 local_94;
  int local_90;
  undefined8 local_88;
  undefined8 local_80;
  double local_70;
  double local_68;
  double local_60;
  double local_58;
  double local_50;
  double local_48;
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  puVar1 = (undefined4 *)param_1[3];
  lVar14 = *(long *)(puVar1 + 10);
  iVar9 = omp_get_num_threads();
  iVar10 = omp_get_thread_num();
  lVar11 = lVar14 / (long)iVar9;
  lVar14 = lVar14 % (long)iVar9;
  if (iVar10 < lVar14) {
    lVar11 = lVar11 + 1;
    lVar14 = 0;
  }
  lVar14 = iVar10 * lVar11 + lVar14;
  lVar11 = lVar11 + lVar14;
  if (lVar14 < lVar11) {
    uVar2 = param_1[6];
    lVar3 = param_1[5];
    uVar4 = param_1[4];
    lVar5 = param_1[2];
    uVar6 = param_1[1];
    uVar7 = *param_1;
    do {
      if (*(int *)(param_1 + 7) != 0) {
        lVar12 = GetCacheViewVirtualPixels(uVar2,0,lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);
        lVar13 = QueueCacheViewAuthenticPixels
                           (uVar6,uVar4,lVar3 + lVar14,*(undefined8 *)(puVar1 + 8),1,uVar7);
        if ((lVar12 == 0) || (lVar13 == 0)) {
          *(undefined4 *)(param_1 + 7) = 0;
        }
        else {
          GetPixelInfo(puVar1,&local_98);
          lVar15 = 0;
          if (0 < *(long *)(puVar1 + 8)) {
            do {
              ResetMagickMemory(&local_98,0,0x58);
              local_98 = 1;
              local_94 = 0x17;
              local_80 = 0x10;
              local_90 = 0;
              local_50 = DAT_003f95f8;
              if (puVar1 != (undefined4 *)0x0) {
                local_98 = *puVar1;
                local_94 = puVar1[1];
                local_88 = *(undefined8 *)(puVar1 + 0xa6);
                local_80 = *(undefined8 *)(puVar1 + 0xc);
                local_90 = puVar1[0xcf];
                if (lVar12 != 0) {
                  lVar8 = *(long *)(puVar1 + 0xd8);
                  local_70 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 8) * 4);
                  local_68 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x18) * 4);
                  local_60 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x28) * 4);
                  if (*(int *)(lVar8 + 0x34) != 0) {
                    local_58 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x38) * 4);
                  }
                  if (*(int *)(lVar8 + 0x44) != 0) {
                    local_50 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x48) * 4);
                    local_90 = 4;
                  }
                  if (*(int *)(lVar8 + 0x54) != 0) {
                    local_48 = (double)*(float *)(lVar12 + *(long *)(lVar8 + 0x58) * 4);
                  }
                }
              }
              lVar8 = *(long *)(lVar5 + 0x360);
              *(float *)(lVar13 + *(long *)(lVar8 + 8) * 4) = (float)local_70;
              *(float *)(lVar13 + *(long *)(lVar8 + 0x18) * 4) = (float)local_68;
              *(float *)(lVar13 + *(long *)(lVar8 + 0x28) * 4) = (float)local_60;
              if (*(int *)(lVar8 + 0x34) != 0) {
                *(float *)(lVar13 + *(long *)(lVar8 + 0x38) * 4) = (float)local_58;
              }
              if (*(int *)(lVar8 + 0x44) != 0) {
                fVar16 = _DAT_003fa400;
                if (local_90 != 0) {
                  fVar16 = (float)local_50;
                }
                *(float *)(lVar13 + *(long *)(lVar8 + 0x48) * 4) = fVar16;
              }
              lVar12 = lVar12 + *(long *)(puVar1 + 0xd0) * 4;
              lVar13 = lVar13 + *(long *)(lVar5 + 0x340) * 4;
              lVar15 = lVar15 + 1;
            } while (lVar15 < *(long *)(puVar1 + 8));
          }
          iVar9 = SyncCacheViewAuthenticPixels(uVar6,uVar7);
          if (iVar9 == 0) {
            *(undefined4 *)(param_1 + 7) = 0;
          }
        }
      }
      lVar14 = lVar14 + 1;
    } while (lVar11 != lVar14);
  }
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
}

