
/* DWARF original prototype: void TransformsRGBImage._omp_fn.4(anon_struct_20_5_fd1d5fb5 * param_0)
    */

void __thiscall TransformsRGBImage__omp_fn_4(void *this)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  double dVar12;
  double dVar13;
  float fVar14;
  double dVar15;
  double dVar16;
  ulonglong uVar17;
  double dVar18;
  double dVar19;
  double dVar20;
  int iVar21;
  
                    /* WARNING: Load size is inaccurate */
  iVar9 = *this;
  iVar10 = *(int *)(iVar9 + 0x1c);
  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();
  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();
  puVar1 = PTR_LAB_003f98e0;
  if (iVar2 == 0) {
    trap(7);
  }
  iVar21 = iVar10 / iVar2;
  iVar10 = iVar10 % iVar2;
  if (iVar3 < iVar10) {
    iVar21 = iVar21 + 1;
    iVar10 = 0;
  }
  iVar10 = iVar21 * iVar3 + iVar10;
  iVar21 = iVar21 + iVar10;
  if (iVar10 < iVar21) {
    iVar2 = *(int *)((int)this + 0xc);
    uVar4 = *(undefined4 *)((int)this + 8);
    uVar5 = *(undefined4 *)((int)this + 4);
    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);
    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);
    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);
    do {
      if (*(int *)((int)this + 0x10) != 0) {
        iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)
                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5);
        if (iVar3 == 0) {
          *(undefined4 *)((int)this + 0x10) = 0;
        }
        else {
          iVar11 = *(int *)(iVar9 + 0x18);
          if (iVar11 != 0) {
            dVar20 = *(double *)(puVar1 + 0x43d0);
            dVar18 = *(double *)(puVar1 + 0x43e0);
            do {
              iVar6 = *(int *)(iVar9 + 0x2d0);
              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);
              if (fVar14 < (float)uVar17) {
                if (NAN(fVar14)) {
                  iVar7 = 0;
                }
                else if (0.0 < fVar14) {
                  dVar16 = (double)fVar14 + dVar12;
                  if (dVar16 < dVar19) {
                    iVar7 = (int)dVar16;
                  }
                  else {
                    iVar7 = (int)(dVar16 - dVar19);
                  }
                }
                else {
                  iVar7 = 0;
                }
              }
              else {
                iVar7 = 0xffff;
              }
              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);
              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {
                if (NAN(fVar14)) {
                  iVar8 = 0;
                }
                else if (0.0 < fVar14) {
                  dVar16 = (double)fVar14 + dVar20;
                  if (dVar16 < dVar18) {
                    iVar8 = (int)dVar16;
                  }
                  else {
                    iVar8 = (int)(dVar16 - dVar18);
                  }
                }
                else {
                  iVar8 = 0;
                }
              }
              else {
                iVar8 = 0xffff;
              }
              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);
              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);
              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {
                if (NAN(fVar14)) {
                  iVar6 = 0;
                }
                else if (0.0 < fVar14) {
                  dVar13 = (double)fVar14 + dVar12;
                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {
                    iVar6 = (int)dVar13;
                  }
                  else {
                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));
                  }
                }
                else {
                  iVar6 = 0;
                }
              }
              else {
                iVar6 = 0xffff;
              }
              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);
              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)
                                         ((double)*(float *)(iVar2 + iVar7 * 4));
              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;
              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);
              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;
              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);
              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;
              iVar11 = iVar11 + -1;
              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;
            } while (iVar11 != 0);
          }
          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);
          if (iVar3 == 0) {
            *(undefined4 *)((int)this + 0x10) = 0;
          }
        }
      }
      iVar10 = iVar10 + 1;
    } while (iVar21 != iVar10);
  }
  return;
}



void FUN_00069498(int *param_1)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  double dVar12;
  double dVar13;
  float fVar14;
  double dVar15;
  double dVar16;
  ulonglong uVar17;
  double dVar18;
  double dVar19;
  double dVar20;
  int iVar21;
  
  iVar8 = *param_1;
  iVar9 = *(int *)(iVar8 + 0x1c);
  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();
  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();
  puVar1 = PTR_LAB_003f98e0;
  if (iVar2 == 0) {
    trap(7);
  }
  iVar21 = iVar9 / iVar2;
  iVar9 = iVar9 % iVar2;
  if (iVar3 < iVar9) {
    iVar21 = iVar21 + 1;
    iVar9 = 0;
  }
  iVar9 = iVar21 * iVar3 + iVar9;
  iVar21 = iVar21 + iVar9;
  if (iVar9 < iVar21) {
    iVar11 = param_1[3];
    iVar2 = param_1[2];
    iVar3 = param_1[1];
    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);
    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);
    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);
    do {
      if (param_1[4] != 0) {
        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)
                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);
        if (iVar4 == 0) {
          param_1[4] = 0;
        }
        else {
          iVar10 = *(int *)(iVar8 + 0x18);
          if (iVar10 != 0) {
            dVar20 = *(double *)(puVar1 + 0x43d0);
            dVar18 = *(double *)(puVar1 + 0x43e0);
            do {
              iVar5 = *(int *)(iVar8 + 0x2d0);
              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);
              if (fVar14 < (float)uVar17) {
                if (NAN(fVar14)) {
                  iVar6 = 0;
                }
                else if (0.0 < fVar14) {
                  dVar16 = (double)fVar14 + dVar12;
                  if (dVar16 < dVar19) {
                    iVar6 = (int)dVar16;
                  }
                  else {
                    iVar6 = (int)(dVar16 - dVar19);
                  }
                }
                else {
                  iVar6 = 0;
                }
              }
              else {
                iVar6 = 0xffff;
              }
              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);
              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {
                if (NAN(fVar14)) {
                  iVar7 = 0;
                }
                else if (0.0 < fVar14) {
                  dVar16 = (double)fVar14 + dVar20;
                  if (dVar16 < dVar18) {
                    iVar7 = (int)dVar16;
                  }
                  else {
                    iVar7 = (int)(dVar16 - dVar18);
                  }
                }
                else {
                  iVar7 = 0;
                }
              }
              else {
                iVar7 = 0xffff;
              }
              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);
              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);
              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {
                if (NAN(fVar14)) {
                  iVar5 = 0;
                }
                else if (0.0 < fVar14) {
                  dVar13 = (double)fVar14 + dVar12;
                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {
                    iVar5 = (int)dVar13;
                  }
                  else {
                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));
                  }
                }
                else {
                  iVar5 = 0;
                }
              }
              else {
                iVar5 = 0xffff;
              }
              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);
              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)
                                         ((double)*(float *)(iVar11 + iVar6 * 4));
              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;
              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);
              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;
              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);
              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;
              iVar10 = iVar10 + -1;
              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;
            } while (iVar10 != 0);
          }
          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);
          if (iVar4 == 0) {
            param_1[4] = 0;
          }
        }
      }
      iVar9 = iVar9 + 1;
    } while (iVar21 != iVar9);
  }
  return;
}


lui gp,0x3a
addiu gp,gp,-0x7be8
addu gp,gp,t9
addiu sp,sp,-0x98
sw ra,0x64(sp)
sw s8,0x60(sp)
sw s7,0x5c(sp)
sw s6,0x58(sp)
sw s5,0x54(sp)
sw s4,0x50(sp)
sw s3,0x4c(sp)
sw s2,0x48(sp)
sw s1,0x44(sp)
sw s0,0x40(sp)
sdc1 f30,0x90(sp)
sdc1 f28,0x88(sp)
sdc1 f26,0x80(sp)
sdc1 f24,0x78(sp)
sdc1 f22,0x70(sp)
sdc1 f20,0x68(sp)
sw gp,0x18(sp)
or s7,a0,zero
lw s1,0x0(a0)
lw s2,0x1c(s1)
lw t9,-0x6f8c(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s0,v0,zero
lw t9,-0x7390(gp)
jalr t9
_nop
lw gp,0x18(sp)
teq s0,zero
div s2,s0
mfhi s0
mflo s6
slt v1,v0,s0
bne v1,zero,0x00069854
_or s4,s0,zero
mul v1,s6,v0
addu s4,v1,s4
addu s6,s6,s4
slt v0,s4,s6
beq v0,zero,0x00069860
_lw s5,-0x7fd0(gp)
lw s3,0xc(s7)
lw v0,0x8(s7)
sw v0,0x24(sp)
lw v0,0x4(s7)
sw v0,0x38(sp)
lwc1 f24,0x4aa8(s5)
lw v0,-0x7fd0(gp)
sw v0,0x3c(sp)
ldc1 f0,0x43d0(v0)
sdc1 f0,0x28(sp)
lw s8,-0x7fd0(gp)
ldc1 f28,0x43e0(s8)
b 0x000695b8
_sdc1 f0,0x30(sp)
lw a1,0x38(sp)
lw a0,0x24(sp)
lw t9,-0x73a0(gp)
jalr t9
_nop
lw gp,0x18(sp)
bne v0,zero,0x000695ac
_nop
sw zero,0x10(s7)
addiu s4,s4,0x1
beq s6,s4,0x00069864
_lw ra,0x64(sp)
lw v0,0x10(s7)
beq v0,zero,0x000695ac
_lw v0,0x38(sp)
lw a3,0x18(s1)
sw v0,0x14(sp)
li v0,0x1
sw v0,0x10(sp)
or a2,s4,zero
or a1,zero,zero
lw a0,0x24(sp)
lw t9,-0x724c(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x0006984c
_or s0,v0,zero
lw s2,0x18(s1)
beq s2,zero,0x00069588
_lw v0,0x3c(sp)
ldc1 f30,0x43d0(v0)
b 0x000697e8
_ldc1 f26,0x43e0(s8)
sub.D D f0,f0,f28
trunc.w.D f0,f0
mfc1 v1,f0
b 0x00069628
_or v1,v1,a0
ori v1,zero,0xffff
sll v1,v1,0x2
addu v1,s3,v1
lwc1 f12,0x0(v1)
lw v1,0x14(v0)
sll v1,v1,0x2
addu v1,s0,v1
lwc1 f0,0x0(v1)
lwc1 f2,0x4aa8(s5)
c.le.S f2,f0
bc1t 0x4,0x000696b0
_cvt.d.S f12,f12
c.un.S f0,f0
bc1t 0x5,0x0006971c
_mtc1 zero,f2
c.le.S f0,f2
bc1t 0x6,0x00069724
_nop
cvt.d.S f0,f0
add.D f0,f0,f30
c.le.D f26,f0
bc1t 0x7,0x0006969c
_lui a0,0x8000
trunc.w.D f0,f0
b 0x000696b4
_mfc1 v1,f0
b 0x00069628
_or v1,zero,zero
b 0x00069628
_or v1,zero,zero
sub.D D f0,f0,f26
trunc.w.D f0,f0
mfc1 v1,f0
b 0x000696b4
_or v1,v1,a0
ori v1,zero,0xffff
sll v1,v1,0x2
addu v1,s3,v1
lwc1 f22,0x0(v1)
lw v0,0x20(v0)
sll v0,v0,0x2
addu v0,s0,v0
lwc1 f0,0x0(v0)
lwc1 f2,0x4aa8(s5)
c.le.S f2,f0
bc1t 0x00069740
_cvt.d.S f22,f22
c.un.S f0,f0
bc1t 0x1,0x0006983c
_mtc1 zero,f2
c.le.S f0,f2
bc1t 0x2,0x00069844
_ldc1 f2,0x30(sp)
cvt.d.S f0,f0
add.D f0,f0,f2
ldc1 f2,0x43e0(s8)
c.le.D f2,f0
bc1t 0x3,0x0006972c
_lui v1,0x8000
trunc.w.D f0,f0
b 0x00069744
_mfc1 v0,f0
b 0x000696b4
_or v1,zero,zero
b 0x000696b4
_or v1,zero,zero
sub.D D f0,f0,f2
trunc.w.D f0,f0
mfc1 v0,f0
b 0x00069744
_or v0,v0,v1
ori v0,zero,0xffff
sll v0,v0,0x2
addu v0,s3,v0
lwc1 f20,0x0(v0)
cvt.d.S f20,f20
lw t9,-0x7234(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v0,0x2d0(s1)
lw v0,0x8(v0)
sll v0,v0,0x2
addu v0,s0,v0
cvt.s.D f0,f0
swc1 f0,0x0(v0)
mov.D f12,f22
lw t9,-0x7234(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v0,0x2d0(s1)
lw v0,0x14(v0)
sll v0,v0,0x2
addu v0,s0,v0
cvt.s.D f0,f0
swc1 f0,0x0(v0)
mov.D f12,f20
lw t9,-0x7234(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v0,0x2d0(s1)
lw v0,0x20(v0)
sll v0,v0,0x2
addu v0,s0,v0
cvt.s.D f0,f0
swc1 f0,0x0(v0)
lw v0,0x2c0(s1)
sll v0,v0,0x2
addiu s2,s2,-0x1
beq s2,zero,0x00069588
_addu s0,s0,v0
lw v0,0x2d0(s1)
lw v1,0x8(v0)
sll v1,v1,0x2
addu v1,s0,v1
lwc1 f0,0x0(v1)
c.le.S f24,f0
bc1t 0x00069624
_c.un.S f0,f0
bc1t 0x1,0x0006968c
_mtc1 zero,f2
c.le.S f0,f2
bc1t 0x2,0x00069694
_ldc1 f2,0x28(sp)
cvt.d.S f0,f0
add.D f0,f0,f2
c.le.D f28,f0
bc1t 0x3,0x00069610
_lui a0,0x8000
trunc.w.D f0,f0
b 0x00069628
_mfc1 v1,f0
b 0x00069744
_or v0,zero,zero
b 0x00069744
_or v0,zero,zero
b 0x000695ac
_sw zero,0x10(s7)
addiu s6,s6,0x1
b 0x00069538
_or s4,zero,zero
lw ra,0x64(sp)
lw s8,0x60(sp)
lw s7,0x5c(sp)
lw s6,0x58(sp)
lw s5,0x54(sp)
lw s4,0x50(sp)
lw s3,0x4c(sp)
lw s2,0x48(sp)
lw s1,0x44(sp)
lw s0,0x40(sp)
ldc1 f30,0x90(sp)
ldc1 f28,0x88(sp)
ldc1 f26,0x80(sp)
ldc1 f24,0x78(sp)
ldc1 f22,0x70(sp)
ldc1 f20,0x68(sp)
jr ra
_addiu sp,sp,0x98
(translation_unit "void FUN_00069498(int *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  ulonglong uVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  int iVar21;\n  \n  iVar8 = *param_1;\n  iVar9 = *(int *)(iVar8 + 0x1c);\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  puVar1 = PTR_LAB_003f98e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar9 / iVar2;\n  iVar9 = iVar9 % iVar2;\n  if (iVar3 < iVar9) {\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }\n  iVar9 = iVar21 * iVar3 + iVar9;\n  iVar21 = iVar21 + iVar9;\n  if (iVar9 < iVar21) {\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }\n  return;\n}\n\n" (function_definition "void FUN_00069498(int *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  ulonglong uVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  int iVar21;\n  \n  iVar8 = *param_1;\n  iVar9 = *(int *)(iVar8 + 0x1c);\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  puVar1 = PTR_LAB_003f98e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar9 / iVar2;\n  iVar9 = iVar9 % iVar2;\n  if (iVar3 < iVar9) {\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }\n  iVar9 = iVar21 * iVar3 + iVar9;\n  iVar21 = iVar21 + iVar9;\n  if (iVar9 < iVar21) {\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00069498(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  ulonglong uVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  int iVar21;\n  \n  iVar8 = *param_1;\n  iVar9 = *(int *)(iVar8 + 0x1c);\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  puVar1 = PTR_LAB_003f98e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar9 / iVar2;\n  iVar9 = iVar9 % iVar2;\n  if (iVar3 < iVar9) {\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }\n  iVar9 = iVar21 * iVar3 + iVar9;\n  iVar21 = iVar21 + iVar9;\n  if (iVar9 < iVar21) {\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "double dVar12;" primitive_type identifier ;) (declaration "double dVar13;" primitive_type identifier ;) (declaration "float fVar14;" primitive_type identifier ;) (declaration "double dVar15;" primitive_type identifier ;) (declaration "double dVar16;" primitive_type identifier ;) (declaration "ulonglong uVar17;" type_identifier identifier ;) (declaration "double dVar18;" primitive_type identifier ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "double dVar20;" primitive_type identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (expression_statement "iVar8 = *param_1;" (assignment_expression "iVar8 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar9 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar9 = *(int *)(iVar8 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar8 + 0x1c)" * (cast_expression "(int *)(iVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();" (assignment_expression "iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)()" identifier = (call_expression "(*(code *)PTR_omp_get_num_threads_003fa924)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003fa924)" ( (pointer_expression "*(code *)PTR_omp_get_num_threads_003fa924" * (cast_expression "(code *)PTR_omp_get_num_threads_003fa924" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();" (assignment_expression "iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)()" identifier = (call_expression "(*(code *)PTR_omp_get_thread_num_003fa520)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003fa520)" ( (pointer_expression "*(code *)PTR_omp_get_thread_num_003fa520" * (cast_expression "(code *)PTR_omp_get_thread_num_003fa520" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "puVar1 = PTR_LAB_003f98e0;" (assignment_expression "puVar1 = PTR_LAB_003f98e0" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar21 = iVar9 / iVar2;" (assignment_expression "iVar21 = iVar9 / iVar2" identifier = (binary_expression "iVar9 / iVar2" identifier / identifier)) ;) (expression_statement "iVar9 = iVar9 % iVar2;" (assignment_expression "iVar9 = iVar9 % iVar2" identifier = (binary_expression "iVar9 % iVar2" identifier % identifier)) ;) (if_statement "if (iVar3 < iVar9) {\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }" if (parenthesized_expression "(iVar3 < iVar9)" ( (binary_expression "iVar3 < iVar9" identifier < identifier) )) (compound_statement "{\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }" { (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) })) (expression_statement "iVar9 = iVar21 * iVar3 + iVar9;" (assignment_expression "iVar9 = iVar21 * iVar3 + iVar9" identifier = (binary_expression "iVar21 * iVar3 + iVar9" (binary_expression "iVar21 * iVar3" identifier * identifier) + identifier)) ;) (expression_statement "iVar21 = iVar21 + iVar9;" (assignment_expression "iVar21 = iVar21 + iVar9" identifier = (binary_expression "iVar21 + iVar9" identifier + identifier)) ;) (if_statement "if (iVar9 < iVar21) {\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }" if (parenthesized_expression "(iVar9 < iVar21)" ( (binary_expression "iVar9 < iVar21" identifier < identifier) )) (compound_statement "{\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }" { (expression_statement "iVar11 = param_1[3];" (assignment_expression "iVar11 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = param_1[2];" (assignment_expression "iVar2 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[1];" (assignment_expression "iVar3 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);" (assignment_expression "uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" identifier = (binary_expression "(ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x4aa8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x4aa8" identifier + number_literal) ))))) ;) (expression_statement "dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);" (assignment_expression "dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0)" identifier = (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43d0)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43d0)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43d0" identifier + number_literal) ))))) ;) (expression_statement "dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);" (assignment_expression "dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0)" identifier = (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43e0)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43e0)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43e0" identifier + number_literal) ))))) ;) (do_statement "do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);" do (compound_statement "{\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    }" { (if_statement "if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }" if (parenthesized_expression "(param_1[4] != 0)" ( (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }" { (expression_statement "iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);" (assignment_expression "iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3)" identifier = (call_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3)" (parenthesized_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)" ( (pointer_expression "*(code *)PTR_GetCacheViewAuthenticPixels_003fa664" * (cast_expression "(code *)PTR_GetCacheViewAuthenticPixels_003fa664" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar8 + 0x18)" * (cast_expression "(undefined4 *)(iVar8 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) )))) , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          param_1[4] = 0;\n        }" { (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }" else (compound_statement "{\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }" { (expression_statement "iVar10 = *(int *)(iVar8 + 0x18);" (assignment_expression "iVar10 = *(int *)(iVar8 + 0x18)" identifier = (pointer_expression "*(int *)(iVar8 + 0x18)" * (cast_expression "(int *)(iVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }" { (expression_statement "dVar20 = *(double *)(puVar1 + 0x43d0);" (assignment_expression "dVar20 = *(double *)(puVar1 + 0x43d0)" identifier = (pointer_expression "*(double *)(puVar1 + 0x43d0)" * (cast_expression "(double *)(puVar1 + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43d0)" ( (binary_expression "puVar1 + 0x43d0" identifier + number_literal) ))))) ;) (expression_statement "dVar18 = *(double *)(puVar1 + 0x43e0);" (assignment_expression "dVar18 = *(double *)(puVar1 + 0x43e0)" identifier = (pointer_expression "*(double *)(puVar1 + 0x43e0)" * (cast_expression "(double *)(puVar1 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43e0)" ( (binary_expression "puVar1 + 0x43e0" identifier + number_literal) ))))) ;) (do_statement "do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);" do (compound_statement "{\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            }" { (expression_statement "iVar5 = *(int *)(iVar8 + 0x2d0);" (assignment_expression "iVar5 = *(int *)(iVar8 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar8 + 0x2d0)" * (cast_expression "(int *)(iVar8 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2d0)" ( (binary_expression "iVar8 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);" (assignment_expression "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar4 + *(int *)(iVar5 + 8) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(iVar5 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(iVar5 + 8) * 4)" ( (binary_expression "iVar4 + *(int *)(iVar5 + 8) * 4" identifier + (binary_expression "*(int *)(iVar5 + 8) * 4" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }" if (parenthesized_expression "(fVar14 < (float)uVar17)" ( (binary_expression "fVar14 < (float)uVar17" identifier < (cast_expression "(float)uVar17" ( (type_descriptor "float" primitive_type) ) identifier)) )) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }" { (if_statement "if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" if (parenthesized_expression "(NAN(fVar14))" ( (call_expression "NAN(fVar14)" identifier (argument_list "(fVar14)" ( identifier ))) )) (compound_statement "{\n                  iVar6 = 0;\n                }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }) (else_clause "else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" else (if_statement "if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" if (parenthesized_expression "(0.0 < fVar14)" ( (binary_expression "0.0 < fVar14" number_literal < identifier) )) (compound_statement "{\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }" { (expression_statement "dVar16 = (double)fVar14 + dVar12;" (assignment_expression "dVar16 = (double)fVar14 + dVar12" identifier = (binary_expression "(double)fVar14 + dVar12" (cast_expression "(double)fVar14" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }" if (parenthesized_expression "(dVar16 < dVar19)" ( (binary_expression "dVar16 < dVar19" identifier < identifier) )) (compound_statement "{\n                    iVar6 = (int)dVar16;\n                  }" { (expression_statement "iVar6 = (int)dVar16;" (assignment_expression "iVar6 = (int)dVar16" identifier = (cast_expression "(int)dVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }" else (compound_statement "{\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }" { (expression_statement "iVar6 = (int)(dVar16 - dVar19);" (assignment_expression "iVar6 = (int)(dVar16 - dVar19)" identifier = (cast_expression "(int)(dVar16 - dVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar16 - dVar19)" ( (binary_expression "dVar16 - dVar19" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                  iVar6 = 0;\n                }" else (compound_statement "{\n                  iVar6 = 0;\n                }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                iVar6 = 0xffff;\n              }" else (compound_statement "{\n                iVar6 = 0xffff;\n              }" { (expression_statement "iVar6 = 0xffff;" (assignment_expression "iVar6 = 0xffff" identifier = number_literal) ;) }))) (expression_statement "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);" (assignment_expression "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(iVar5 + 0x14) * 4)" ( (binary_expression "iVar4 + *(int *)(iVar5 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar5 + 0x14) * 4" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }" if (parenthesized_expression "(fVar14 < *(float *)(puVar1 + 0x4aa8))" ( (binary_expression "fVar14 < *(float *)(puVar1 + 0x4aa8)" identifier < (pointer_expression "*(float *)(puVar1 + 0x4aa8)" * (cast_expression "(float *)(puVar1 + 0x4aa8)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x4aa8)" ( (binary_expression "puVar1 + 0x4aa8" identifier + number_literal) ))))) )) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }" { (if_statement "if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" if (parenthesized_expression "(NAN(fVar14))" ( (call_expression "NAN(fVar14)" identifier (argument_list "(fVar14)" ( identifier ))) )) (compound_statement "{\n                  iVar7 = 0;\n                }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" else (if_statement "if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" if (parenthesized_expression "(0.0 < fVar14)" ( (binary_expression "0.0 < fVar14" number_literal < identifier) )) (compound_statement "{\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }" { (expression_statement "dVar16 = (double)fVar14 + dVar20;" (assignment_expression "dVar16 = (double)fVar14 + dVar20" identifier = (binary_expression "(double)fVar14 + dVar20" (cast_expression "(double)fVar14" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }" if (parenthesized_expression "(dVar16 < dVar18)" ( (binary_expression "dVar16 < dVar18" identifier < identifier) )) (compound_statement "{\n                    iVar7 = (int)dVar16;\n                  }" { (expression_statement "iVar7 = (int)dVar16;" (assignment_expression "iVar7 = (int)dVar16" identifier = (cast_expression "(int)dVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }" else (compound_statement "{\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }" { (expression_statement "iVar7 = (int)(dVar16 - dVar18);" (assignment_expression "iVar7 = (int)(dVar16 - dVar18)" identifier = (cast_expression "(int)(dVar16 - dVar18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar16 - dVar18)" ( (binary_expression "dVar16 - dVar18" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                  iVar7 = 0;\n                }" else (compound_statement "{\n                  iVar7 = 0;\n                }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                iVar7 = 0xffff;\n              }" else (compound_statement "{\n                iVar7 = 0xffff;\n              }" { (expression_statement "iVar7 = 0xffff;" (assignment_expression "iVar7 = 0xffff" identifier = number_literal) ;) }))) (expression_statement "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);" (assignment_expression "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4)" identifier = (pointer_expression "*(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(iVar5 + 0x20) * 4)" ( (binary_expression "iVar4 + *(int *)(iVar5 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar5 + 0x20) * 4" (pointer_expression "*(int *)(iVar5 + 0x20)" * (cast_expression "(int *)(iVar5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x20)" ( (binary_expression "iVar5 + 0x20" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);" (assignment_expression "dVar16 = (double)*(float *)(iVar11 + iVar7 * 4)" identifier = (cast_expression "(double)*(float *)(iVar11 + iVar7 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar11 + iVar7 * 4)" * (cast_expression "(float *)(iVar11 + iVar7 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar7 * 4)" ( (binary_expression "iVar11 + iVar7 * 4" identifier + (binary_expression "iVar7 * 4" identifier * number_literal)) )))))) ;) (if_statement "if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }" if (parenthesized_expression "(fVar14 < *(float *)(puVar1 + 0x4aa8))" ( (binary_expression "fVar14 < *(float *)(puVar1 + 0x4aa8)" identifier < (pointer_expression "*(float *)(puVar1 + 0x4aa8)" * (cast_expression "(float *)(puVar1 + 0x4aa8)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x4aa8)" ( (binary_expression "puVar1 + 0x4aa8" identifier + number_literal) ))))) )) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }" { (if_statement "if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }" if (parenthesized_expression "(NAN(fVar14))" ( (call_expression "NAN(fVar14)" identifier (argument_list "(fVar14)" ( identifier ))) )) (compound_statement "{\n                  iVar5 = 0;\n                }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) }) (else_clause "else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }" else (if_statement "if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }" if (parenthesized_expression "(0.0 < fVar14)" ( (binary_expression "0.0 < fVar14" number_literal < identifier) )) (compound_statement "{\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }" { (expression_statement "dVar13 = (double)fVar14 + dVar12;" (assignment_expression "dVar13 = (double)fVar14 + dVar12" identifier = (binary_expression "(double)fVar14 + dVar12" (cast_expression "(double)fVar14" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" if (parenthesized_expression "(dVar13 < *(double *)(puVar1 + 0x43e0))" ( (binary_expression "dVar13 < *(double *)(puVar1 + 0x43e0)" identifier < (pointer_expression "*(double *)(puVar1 + 0x43e0)" * (cast_expression "(double *)(puVar1 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43e0)" ( (binary_expression "puVar1 + 0x43e0" identifier + number_literal) ))))) )) (compound_statement "{\n                    iVar5 = (int)dVar13;\n                  }" { (expression_statement "iVar5 = (int)dVar13;" (assignment_expression "iVar5 = (int)dVar13" identifier = (cast_expression "(int)dVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" else (compound_statement "{\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" { (expression_statement "iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));" (assignment_expression "iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0))" identifier = (cast_expression "(int)(dVar13 - *(double *)(puVar1 + 0x43e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar13 - *(double *)(puVar1 + 0x43e0))" ( (binary_expression "dVar13 - *(double *)(puVar1 + 0x43e0)" identifier - (pointer_expression "*(double *)(puVar1 + 0x43e0)" * (cast_expression "(double *)(puVar1 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43e0)" ( (binary_expression "puVar1 + 0x43e0" identifier + number_literal) ))))) )))) ;) }))) }) (else_clause "else {\n                  iVar5 = 0;\n                }" else (compound_statement "{\n                  iVar5 = 0;\n                }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                iVar5 = 0xffff;\n              }" else (compound_statement "{\n                iVar5 = 0xffff;\n              }" { (expression_statement "iVar5 = 0xffff;" (assignment_expression "iVar5 = 0xffff" identifier = number_literal) ;) }))) (expression_statement "dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);" (assignment_expression "dVar15 = (double)*(float *)(iVar11 + iVar5 * 4)" identifier = (cast_expression "(double)*(float *)(iVar11 + iVar5 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar11 + iVar5 * 4)" * (cast_expression "(float *)(iVar11 + iVar5 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar5 * 4)" ( (binary_expression "iVar11 + iVar5 * 4" identifier + (binary_expression "iVar5 * 4" identifier * number_literal)) )))))) ;) (expression_statement "dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));" (assignment_expression "dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4))" identifier = (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4))" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4))" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" ( (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" * (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((double)*(float *)(iVar11 + iVar6 * 4))" ( (cast_expression "(double)*(float *)(iVar11 + iVar6 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar11 + iVar6 * 4)" * (cast_expression "(float *)(iVar11 + iVar6 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar6 * 4)" ( (binary_expression "iVar11 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) ))))) ))))) ;) (expression_statement "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;" (assignment_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13" (pointer_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar8 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar8 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar8 + 0x2d0)" * (cast_expression "(int *)(iVar8 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2d0)" ( (binary_expression "iVar8 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar13" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);" (assignment_expression "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" identifier = (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" ( (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" * (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar16)" ( identifier ))))) ;) (expression_statement "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;" (assignment_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16" (pointer_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4)" ( (binary_expression "iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4" (pointer_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x14)" * (cast_expression "(int *)(*(int *)(iVar8 + 0x2d0) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x2d0) + 0x14)" ( (binary_expression "*(int *)(iVar8 + 0x2d0) + 0x14" (pointer_expression "*(int *)(iVar8 + 0x2d0)" * (cast_expression "(int *)(iVar8 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2d0)" ( (binary_expression "iVar8 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar16" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);" (assignment_expression "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" identifier = (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" ( (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" * (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar15)" ( identifier ))))) ;) (expression_statement "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;" (assignment_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16" (pointer_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4)" ( (binary_expression "iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4" (pointer_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar8 + 0x2d0) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x2d0) + 0x20)" ( (binary_expression "*(int *)(iVar8 + 0x2d0) + 0x20" (pointer_expression "*(int *)(iVar8 + 0x2d0)" * (cast_expression "(int *)(iVar8 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2d0)" ( (binary_expression "iVar8 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar16" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;" (assignment_expression "iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4" identifier = (binary_expression "iVar4 + *(int *)(iVar8 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar8 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar8 + 0x2c0)" * (cast_expression "(int *)(iVar8 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2c0)" ( (binary_expression "iVar8 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) })) (expression_statement "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);" (assignment_expression "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3)" identifier = (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3)" (parenthesized_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)" ( (pointer_expression "*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510" * (cast_expression "(code *)PTR_SyncCacheViewAuthenticPixels_003fa510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,iVar3)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n            param_1[4] = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            param_1[4] = 0;\n          }" { (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) }))) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 != iVar9)" ( (binary_expression "iVar21 != iVar9" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void TransformsRGBImage._omp_fn.4(anon_struct_20_5_fd1d5fb5 * param_0)\n    */\n\nvoid __thiscall TransformsRGBImage__omp_fn_4(void *this)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  ulonglong uVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  int iVar21;\n  \n                    /* WARNING: Load size is inaccurate */\n  iVar9 = *this;\n  iVar10 = *(int *)(iVar9 + 0x1c);\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  puVar1 = PTR_LAB_003f98e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar10 / iVar2;\n  iVar10 = iVar10 % iVar2;\n  if (iVar3 < iVar10) {\n    iVar21 = iVar21 + 1;\n    iVar10 = 0;\n  }\n  iVar10 = iVar21 * iVar3 + iVar10;\n  iVar21 = iVar21 + iVar10;\n  if (iVar10 < iVar21) {\n    iVar2 = *(int *)((int)this + 0xc);\n    uVar4 = *(undefined4 *)((int)this + 8);\n    uVar5 = *(undefined4 *)((int)this + 4);\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (*(int *)((int)this + 0x10) != 0) {\n        iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5);\n        if (iVar3 == 0) {\n          *(undefined4 *)((int)this + 0x10) = 0;\n        }\n        else {\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }\n      }\n      iVar10 = iVar10 + 1;\n    } while (iVar21 != iVar10);\n  }\n  return;\n}\n\n" comment (function_definition "void __thiscall TransformsRGBImage__omp_fn_4(void *this)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  ulonglong uVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  int iVar21;\n  \n                    /* WARNING: Load size is inaccurate */\n  iVar9 = *this;\n  iVar10 = *(int *)(iVar9 + 0x1c);\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  puVar1 = PTR_LAB_003f98e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar10 / iVar2;\n  iVar10 = iVar10 % iVar2;\n  if (iVar3 < iVar10) {\n    iVar21 = iVar21 + 1;\n    iVar10 = 0;\n  }\n  iVar10 = iVar21 * iVar3 + iVar10;\n  iVar21 = iVar21 + iVar10;\n  if (iVar10 < iVar21) {\n    iVar2 = *(int *)((int)this + 0xc);\n    uVar4 = *(undefined4 *)((int)this + 8);\n    uVar5 = *(undefined4 *)((int)this + 4);\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (*(int *)((int)this + 0x10) != 0) {\n        iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5);\n        if (iVar3 == 0) {\n          *(undefined4 *)((int)this + 0x10) = 0;\n        }\n        else {\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }\n      }\n      iVar10 = iVar10 + 1;\n    } while (iVar21 != iVar10);\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (function_declarator "TransformsRGBImage__omp_fn_4(void *this)" identifier (parameter_list "(void *this)" ( (parameter_declaration "void *this" primitive_type (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  ulonglong uVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  int iVar21;\n  \n                    /* WARNING: Load size is inaccurate */\n  iVar9 = *this;\n  iVar10 = *(int *)(iVar9 + 0x1c);\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  puVar1 = PTR_LAB_003f98e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar10 / iVar2;\n  iVar10 = iVar10 % iVar2;\n  if (iVar3 < iVar10) {\n    iVar21 = iVar21 + 1;\n    iVar10 = 0;\n  }\n  iVar10 = iVar21 * iVar3 + iVar10;\n  iVar21 = iVar21 + iVar10;\n  if (iVar10 < iVar21) {\n    iVar2 = *(int *)((int)this + 0xc);\n    uVar4 = *(undefined4 *)((int)this + 8);\n    uVar5 = *(undefined4 *)((int)this + 4);\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (*(int *)((int)this + 0x10) != 0) {\n        iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5);\n        if (iVar3 == 0) {\n          *(undefined4 *)((int)this + 0x10) = 0;\n        }\n        else {\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }\n      }\n      iVar10 = iVar10 + 1;\n    } while (iVar21 != iVar10);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "double dVar12;" primitive_type identifier ;) (declaration "double dVar13;" primitive_type identifier ;) (declaration "float fVar14;" primitive_type identifier ;) (declaration "double dVar15;" primitive_type identifier ;) (declaration "double dVar16;" primitive_type identifier ;) (declaration "ulonglong uVar17;" type_identifier identifier ;) (declaration "double dVar18;" primitive_type identifier ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "double dVar20;" primitive_type identifier ;) (declaration "int iVar21;" primitive_type identifier ;) comment (expression_statement "iVar9 = *this;" (assignment_expression "iVar9 = *this" identifier = (pointer_expression "*this" * identifier)) ;) (expression_statement "iVar10 = *(int *)(iVar9 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar9 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();" (assignment_expression "iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)()" identifier = (call_expression "(*(code *)PTR_omp_get_num_threads_003fa924)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003fa924)" ( (pointer_expression "*(code *)PTR_omp_get_num_threads_003fa924" * (cast_expression "(code *)PTR_omp_get_num_threads_003fa924" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();" (assignment_expression "iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)()" identifier = (call_expression "(*(code *)PTR_omp_get_thread_num_003fa520)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003fa520)" ( (pointer_expression "*(code *)PTR_omp_get_thread_num_003fa520" * (cast_expression "(code *)PTR_omp_get_thread_num_003fa520" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "puVar1 = PTR_LAB_003f98e0;" (assignment_expression "puVar1 = PTR_LAB_003f98e0" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar21 = iVar10 / iVar2;" (assignment_expression "iVar21 = iVar10 / iVar2" identifier = (binary_expression "iVar10 / iVar2" identifier / identifier)) ;) (expression_statement "iVar10 = iVar10 % iVar2;" (assignment_expression "iVar10 = iVar10 % iVar2" identifier = (binary_expression "iVar10 % iVar2" identifier % identifier)) ;) (if_statement "if (iVar3 < iVar10) {\n    iVar21 = iVar21 + 1;\n    iVar10 = 0;\n  }" if (parenthesized_expression "(iVar3 < iVar10)" ( (binary_expression "iVar3 < iVar10" identifier < identifier) )) (compound_statement "{\n    iVar21 = iVar21 + 1;\n    iVar10 = 0;\n  }" { (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) })) (expression_statement "iVar10 = iVar21 * iVar3 + iVar10;" (assignment_expression "iVar10 = iVar21 * iVar3 + iVar10" identifier = (binary_expression "iVar21 * iVar3 + iVar10" (binary_expression "iVar21 * iVar3" identifier * identifier) + identifier)) ;) (expression_statement "iVar21 = iVar21 + iVar10;" (assignment_expression "iVar21 = iVar21 + iVar10" identifier = (binary_expression "iVar21 + iVar10" identifier + identifier)) ;) (if_statement "if (iVar10 < iVar21) {\n    iVar2 = *(int *)((int)this + 0xc);\n    uVar4 = *(undefined4 *)((int)this + 8);\n    uVar5 = *(undefined4 *)((int)this + 4);\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (*(int *)((int)this + 0x10) != 0) {\n        iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5);\n        if (iVar3 == 0) {\n          *(undefined4 *)((int)this + 0x10) = 0;\n        }\n        else {\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }\n      }\n      iVar10 = iVar10 + 1;\n    } while (iVar21 != iVar10);\n  }" if (parenthesized_expression "(iVar10 < iVar21)" ( (binary_expression "iVar10 < iVar21" identifier < identifier) )) (compound_statement "{\n    iVar2 = *(int *)((int)this + 0xc);\n    uVar4 = *(undefined4 *)((int)this + 8);\n    uVar5 = *(undefined4 *)((int)this + 4);\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (*(int *)((int)this + 0x10) != 0) {\n        iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5);\n        if (iVar3 == 0) {\n          *(undefined4 *)((int)this + 0x10) = 0;\n        }\n        else {\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }\n      }\n      iVar10 = iVar10 + 1;\n    } while (iVar21 != iVar10);\n  }" { (expression_statement "iVar2 = *(int *)((int)this + 0xc);" (assignment_expression "iVar2 = *(int *)((int)this + 0xc)" identifier = (pointer_expression "*(int *)((int)this + 0xc)" * (cast_expression "(int *)((int)this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0xc)" ( (binary_expression "(int)this + 0xc" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)((int)this + 8);" (assignment_expression "uVar4 = *(undefined4 *)((int)this + 8)" identifier = (pointer_expression "*(undefined4 *)((int)this + 8)" * (cast_expression "(undefined4 *)((int)this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 8)" ( (binary_expression "(int)this + 8" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)((int)this + 4);" (assignment_expression "uVar5 = *(undefined4 *)((int)this + 4)" identifier = (pointer_expression "*(undefined4 *)((int)this + 4)" * (cast_expression "(undefined4 *)((int)this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 4)" ( (binary_expression "(int)this + 4" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);" (assignment_expression "uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" identifier = (binary_expression "(ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x4aa8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x4aa8" identifier + number_literal) ))))) ;) (expression_statement "dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);" (assignment_expression "dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0)" identifier = (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43d0)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43d0)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43d0" identifier + number_literal) ))))) ;) (expression_statement "dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);" (assignment_expression "dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0)" identifier = (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43e0)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43e0)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43e0" identifier + number_literal) ))))) ;) (do_statement "do {\n      if (*(int *)((int)this + 0x10) != 0) {\n        iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5);\n        if (iVar3 == 0) {\n          *(undefined4 *)((int)this + 0x10) = 0;\n        }\n        else {\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }\n      }\n      iVar10 = iVar10 + 1;\n    } while (iVar21 != iVar10);" do (compound_statement "{\n      if (*(int *)((int)this + 0x10) != 0) {\n        iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5);\n        if (iVar3 == 0) {\n          *(undefined4 *)((int)this + 0x10) = 0;\n        }\n        else {\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }\n      }\n      iVar10 = iVar10 + 1;\n    }" { (if_statement "if (*(int *)((int)this + 0x10) != 0) {\n        iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5);\n        if (iVar3 == 0) {\n          *(undefined4 *)((int)this + 0x10) = 0;\n        }\n        else {\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }\n      }" if (parenthesized_expression "(*(int *)((int)this + 0x10) != 0)" ( (binary_expression "*(int *)((int)this + 0x10) != 0" (pointer_expression "*(int *)((int)this + 0x10)" * (cast_expression "(int *)((int)this + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x10)" ( (binary_expression "(int)this + 0x10" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5);\n        if (iVar3 == 0) {\n          *(undefined4 *)((int)this + 0x10) = 0;\n        }\n        else {\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }\n      }" { (expression_statement "iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5);" (assignment_expression "iVar3 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5)" identifier = (call_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5)" (parenthesized_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)" ( (pointer_expression "*(code *)PTR_GetCacheViewAuthenticPixels_003fa664" * (cast_expression "(code *)PTR_GetCacheViewAuthenticPixels_003fa664" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4,0,iVar10,*(undefined4 *)(iVar9 + 0x18),1,uVar5)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) , number_literal , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n          *(undefined4 *)((int)this + 0x10) = 0;\n        }\n        else {\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)((int)this + 0x10) = 0;\n        }" { (expression_statement "*(undefined4 *)((int)this + 0x10) = 0;" (assignment_expression "*(undefined4 *)((int)this + 0x10) = 0" (pointer_expression "*(undefined4 *)((int)this + 0x10)" * (cast_expression "(undefined4 *)((int)this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x10)" ( (binary_expression "(int)this + 0x10" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }" else (compound_statement "{\n          iVar11 = *(int *)(iVar9 + 0x18);\n          if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }\n          iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);\n          if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }\n        }" { (expression_statement "iVar11 = *(int *)(iVar9 + 0x18);" (assignment_expression "iVar11 = *(int *)(iVar9 + 0x18)" identifier = (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);\n          }" { (expression_statement "dVar20 = *(double *)(puVar1 + 0x43d0);" (assignment_expression "dVar20 = *(double *)(puVar1 + 0x43d0)" identifier = (pointer_expression "*(double *)(puVar1 + 0x43d0)" * (cast_expression "(double *)(puVar1 + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43d0)" ( (binary_expression "puVar1 + 0x43d0" identifier + number_literal) ))))) ;) (expression_statement "dVar18 = *(double *)(puVar1 + 0x43e0);" (assignment_expression "dVar18 = *(double *)(puVar1 + 0x43e0)" identifier = (pointer_expression "*(double *)(puVar1 + 0x43e0)" * (cast_expression "(double *)(puVar1 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43e0)" ( (binary_expression "puVar1 + 0x43e0" identifier + number_literal) ))))) ;) (do_statement "do {\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            } while (iVar11 != 0);" do (compound_statement "{\n              iVar6 = *(int *)(iVar9 + 0x2d0);\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar11 = iVar11 + -1;\n              iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;\n            }" { (expression_statement "iVar6 = *(int *)(iVar9 + 0x2d0);" (assignment_expression "iVar6 = *(int *)(iVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar9 + 0x2d0)" * (cast_expression "(int *)(iVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x2d0)" ( (binary_expression "iVar9 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4);" (assignment_expression "fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar3 + *(int *)(iVar6 + 8) * 4)" * (cast_expression "(float *)(iVar3 + *(int *)(iVar6 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar6 + 8) * 4)" ( (binary_expression "iVar3 + *(int *)(iVar6 + 8) * 4" identifier + (binary_expression "*(int *)(iVar6 + 8) * 4" (pointer_expression "*(int *)(iVar6 + 8)" * (cast_expression "(int *)(iVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }" if (parenthesized_expression "(fVar14 < (float)uVar17)" ( (binary_expression "fVar14 < (float)uVar17" identifier < (cast_expression "(float)uVar17" ( (type_descriptor "float" primitive_type) ) identifier)) )) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }" { (if_statement "if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" if (parenthesized_expression "(NAN(fVar14))" ( (call_expression "NAN(fVar14)" identifier (argument_list "(fVar14)" ( identifier ))) )) (compound_statement "{\n                  iVar7 = 0;\n                }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" else (if_statement "if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" if (parenthesized_expression "(0.0 < fVar14)" ( (binary_expression "0.0 < fVar14" number_literal < identifier) )) (compound_statement "{\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }\n                }" { (expression_statement "dVar16 = (double)fVar14 + dVar12;" (assignment_expression "dVar16 = (double)fVar14 + dVar12" identifier = (binary_expression "(double)fVar14 + dVar12" (cast_expression "(double)fVar14" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar16 < dVar19) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }" if (parenthesized_expression "(dVar16 < dVar19)" ( (binary_expression "dVar16 < dVar19" identifier < identifier) )) (compound_statement "{\n                    iVar7 = (int)dVar16;\n                  }" { (expression_statement "iVar7 = (int)dVar16;" (assignment_expression "iVar7 = (int)dVar16" identifier = (cast_expression "(int)dVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }" else (compound_statement "{\n                    iVar7 = (int)(dVar16 - dVar19);\n                  }" { (expression_statement "iVar7 = (int)(dVar16 - dVar19);" (assignment_expression "iVar7 = (int)(dVar16 - dVar19)" identifier = (cast_expression "(int)(dVar16 - dVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar16 - dVar19)" ( (binary_expression "dVar16 - dVar19" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                  iVar7 = 0;\n                }" else (compound_statement "{\n                  iVar7 = 0;\n                }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                iVar7 = 0xffff;\n              }" else (compound_statement "{\n                iVar7 = 0xffff;\n              }" { (expression_statement "iVar7 = 0xffff;" (assignment_expression "iVar7 = 0xffff" identifier = number_literal) ;) }))) (expression_statement "fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4);" (assignment_expression "fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4)" * (cast_expression "(float *)(iVar3 + *(int *)(iVar6 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar6 + 0x14) * 4)" ( (binary_expression "iVar3 + *(int *)(iVar6 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar6 + 0x14) * 4" (pointer_expression "*(int *)(iVar6 + 0x14)" * (cast_expression "(int *)(iVar6 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }\n              else {\n                iVar8 = 0xffff;\n              }" if (parenthesized_expression "(fVar14 < *(float *)(puVar1 + 0x4aa8))" ( (binary_expression "fVar14 < *(float *)(puVar1 + 0x4aa8)" identifier < (pointer_expression "*(float *)(puVar1 + 0x4aa8)" * (cast_expression "(float *)(puVar1 + 0x4aa8)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x4aa8)" ( (binary_expression "puVar1 + 0x4aa8" identifier + number_literal) ))))) )) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }\n              }" { (if_statement "if (NAN(fVar14)) {\n                  iVar8 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }" if (parenthesized_expression "(NAN(fVar14))" ( (call_expression "NAN(fVar14)" identifier (argument_list "(fVar14)" ( identifier ))) )) (compound_statement "{\n                  iVar8 = 0;\n                }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) }) (else_clause "else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }" else (if_statement "if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar8 = 0;\n                }" if (parenthesized_expression "(0.0 < fVar14)" ( (binary_expression "0.0 < fVar14" number_literal < identifier) )) (compound_statement "{\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }\n                }" { (expression_statement "dVar16 = (double)fVar14 + dVar20;" (assignment_expression "dVar16 = (double)fVar14 + dVar20" identifier = (binary_expression "(double)fVar14 + dVar20" (cast_expression "(double)fVar14" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar16 < dVar18) {\n                    iVar8 = (int)dVar16;\n                  }\n                  else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }" if (parenthesized_expression "(dVar16 < dVar18)" ( (binary_expression "dVar16 < dVar18" identifier < identifier) )) (compound_statement "{\n                    iVar8 = (int)dVar16;\n                  }" { (expression_statement "iVar8 = (int)dVar16;" (assignment_expression "iVar8 = (int)dVar16" identifier = (cast_expression "(int)dVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }" else (compound_statement "{\n                    iVar8 = (int)(dVar16 - dVar18);\n                  }" { (expression_statement "iVar8 = (int)(dVar16 - dVar18);" (assignment_expression "iVar8 = (int)(dVar16 - dVar18)" identifier = (cast_expression "(int)(dVar16 - dVar18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar16 - dVar18)" ( (binary_expression "dVar16 - dVar18" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                  iVar8 = 0;\n                }" else (compound_statement "{\n                  iVar8 = 0;\n                }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                iVar8 = 0xffff;\n              }" else (compound_statement "{\n                iVar8 = 0xffff;\n              }" { (expression_statement "iVar8 = 0xffff;" (assignment_expression "iVar8 = 0xffff" identifier = number_literal) ;) }))) (expression_statement "fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4);" (assignment_expression "fVar14 = *(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4)" identifier = (pointer_expression "*(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4)" * (cast_expression "(float *)(iVar3 + *(int *)(iVar6 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(iVar6 + 0x20) * 4)" ( (binary_expression "iVar3 + *(int *)(iVar6 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar6 + 0x20) * 4" (pointer_expression "*(int *)(iVar6 + 0x20)" * (cast_expression "(int *)(iVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "dVar16 = (double)*(float *)(iVar2 + iVar8 * 4);" (assignment_expression "dVar16 = (double)*(float *)(iVar2 + iVar8 * 4)" identifier = (cast_expression "(double)*(float *)(iVar2 + iVar8 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar2 + iVar8 * 4)" * (cast_expression "(float *)(iVar2 + iVar8 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar8 * 4)" ( (binary_expression "iVar2 + iVar8 * 4" identifier + (binary_expression "iVar8 * 4" identifier * number_literal)) )))))) ;) (if_statement "if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }" if (parenthesized_expression "(fVar14 < *(float *)(puVar1 + 0x4aa8))" ( (binary_expression "fVar14 < *(float *)(puVar1 + 0x4aa8)" identifier < (pointer_expression "*(float *)(puVar1 + 0x4aa8)" * (cast_expression "(float *)(puVar1 + 0x4aa8)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x4aa8)" ( (binary_expression "puVar1 + 0x4aa8" identifier + number_literal) ))))) )) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }" { (if_statement "if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" if (parenthesized_expression "(NAN(fVar14))" ( (call_expression "NAN(fVar14)" identifier (argument_list "(fVar14)" ( identifier ))) )) (compound_statement "{\n                  iVar6 = 0;\n                }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }) (else_clause "else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" else (if_statement "if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" if (parenthesized_expression "(0.0 < fVar14)" ( (binary_expression "0.0 < fVar14" number_literal < identifier) )) (compound_statement "{\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }" { (expression_statement "dVar13 = (double)fVar14 + dVar12;" (assignment_expression "dVar13 = (double)fVar14 + dVar12" identifier = (binary_expression "(double)fVar14 + dVar12" (cast_expression "(double)fVar14" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar6 = (int)dVar13;\n                  }\n                  else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" if (parenthesized_expression "(dVar13 < *(double *)(puVar1 + 0x43e0))" ( (binary_expression "dVar13 < *(double *)(puVar1 + 0x43e0)" identifier < (pointer_expression "*(double *)(puVar1 + 0x43e0)" * (cast_expression "(double *)(puVar1 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43e0)" ( (binary_expression "puVar1 + 0x43e0" identifier + number_literal) ))))) )) (compound_statement "{\n                    iVar6 = (int)dVar13;\n                  }" { (expression_statement "iVar6 = (int)dVar13;" (assignment_expression "iVar6 = (int)dVar13" identifier = (cast_expression "(int)dVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" else (compound_statement "{\n                    iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" { (expression_statement "iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));" (assignment_expression "iVar6 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0))" identifier = (cast_expression "(int)(dVar13 - *(double *)(puVar1 + 0x43e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar13 - *(double *)(puVar1 + 0x43e0))" ( (binary_expression "dVar13 - *(double *)(puVar1 + 0x43e0)" identifier - (pointer_expression "*(double *)(puVar1 + 0x43e0)" * (cast_expression "(double *)(puVar1 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43e0)" ( (binary_expression "puVar1 + 0x43e0" identifier + number_literal) ))))) )))) ;) }))) }) (else_clause "else {\n                  iVar6 = 0;\n                }" else (compound_statement "{\n                  iVar6 = 0;\n                }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                iVar6 = 0xffff;\n              }" else (compound_statement "{\n                iVar6 = 0xffff;\n              }" { (expression_statement "iVar6 = 0xffff;" (assignment_expression "iVar6 = 0xffff" identifier = number_literal) ;) }))) (expression_statement "dVar15 = (double)*(float *)(iVar2 + iVar6 * 4);" (assignment_expression "dVar15 = (double)*(float *)(iVar2 + iVar6 * 4)" identifier = (cast_expression "(double)*(float *)(iVar2 + iVar6 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar2 + iVar6 * 4)" * (cast_expression "(float *)(iVar2 + iVar6 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar6 * 4)" ( (binary_expression "iVar2 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) )))))) ;) (expression_statement "dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4));" (assignment_expression "dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4))" identifier = (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4))" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar2 + iVar7 * 4))" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" ( (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" * (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((double)*(float *)(iVar2 + iVar7 * 4))" ( (cast_expression "(double)*(float *)(iVar2 + iVar7 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar2 + iVar7 * 4)" * (cast_expression "(float *)(iVar2 + iVar7 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + iVar7 * 4)" ( (binary_expression "iVar2 + iVar7 * 4" identifier + (binary_expression "iVar7 * 4" identifier * number_literal)) ))))) ))))) ;) (expression_statement "*(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13;" (assignment_expression "*(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4) = (float)dVar13" (pointer_expression "*(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar9 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar9 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar9 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar9 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar9 + 0x2d0)" * (cast_expression "(int *)(iVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x2d0)" ( (binary_expression "iVar9 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar13" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);" (assignment_expression "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" identifier = (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" ( (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" * (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar16)" ( identifier ))))) ;) (expression_statement "*(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16;" (assignment_expression "*(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4) = (float)dVar16" (pointer_expression "*(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4)" * (cast_expression "(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4)" ( (binary_expression "iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar9 + 0x2d0) + 0x14) * 4" (pointer_expression "*(int *)(*(int *)(iVar9 + 0x2d0) + 0x14)" * (cast_expression "(int *)(*(int *)(iVar9 + 0x2d0) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x2d0) + 0x14)" ( (binary_expression "*(int *)(iVar9 + 0x2d0) + 0x14" (pointer_expression "*(int *)(iVar9 + 0x2d0)" * (cast_expression "(int *)(iVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x2d0)" ( (binary_expression "iVar9 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar16" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);" (assignment_expression "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" identifier = (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" ( (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" * (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar15)" ( identifier ))))) ;) (expression_statement "*(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16;" (assignment_expression "*(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4) = (float)dVar16" (pointer_expression "*(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4)" * (cast_expression "(float *)(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4)" ( (binary_expression "iVar3 + *(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar9 + 0x2d0) + 0x20) * 4" (pointer_expression "*(int *)(*(int *)(iVar9 + 0x2d0) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar9 + 0x2d0) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x2d0) + 0x20)" ( (binary_expression "*(int *)(iVar9 + 0x2d0) + 0x20" (pointer_expression "*(int *)(iVar9 + 0x2d0)" * (cast_expression "(int *)(iVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x2d0)" ( (binary_expression "iVar9 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar16" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4;" (assignment_expression "iVar3 = iVar3 + *(int *)(iVar9 + 0x2c0) * 4" identifier = (binary_expression "iVar3 + *(int *)(iVar9 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar9 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar9 + 0x2c0)" * (cast_expression "(int *)(iVar9 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x2c0)" ( (binary_expression "iVar9 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) ;) })) (expression_statement "iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5);" (assignment_expression "iVar3 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5)" identifier = (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(uVar4,uVar5)" (parenthesized_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)" ( (pointer_expression "*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510" * (cast_expression "(code *)PTR_SyncCacheViewAuthenticPixels_003fa510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4,uVar5)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)((int)this + 0x10) = 0;\n          }" { (expression_statement "*(undefined4 *)((int)this + 0x10) = 0;" (assignment_expression "*(undefined4 *)((int)this + 0x10) = 0" (pointer_expression "*(undefined4 *)((int)this + 0x10)" * (cast_expression "(undefined4 *)((int)this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x10)" ( (binary_expression "(int)this + 0x10" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) }))) })) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 != iVar10)" ( (binary_expression "iVar21 != iVar10" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00069498(int *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  ulonglong uVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  int iVar21;\n  \n  iVar8 = *param_1;\n  iVar9 = *(int *)(iVar8 + 0x1c);\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  puVar1 = PTR_LAB_003f98e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar9 / iVar2;\n  iVar9 = iVar9 % iVar2;\n  if (iVar3 < iVar9) {\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }\n  iVar9 = iVar21 * iVar3 + iVar9;\n  iVar21 = iVar21 + iVar9;\n  if (iVar9 < iVar21) {\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }\n  return;\n}\n\n" (function_definition "void FUN_00069498(int *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  ulonglong uVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  int iVar21;\n  \n  iVar8 = *param_1;\n  iVar9 = *(int *)(iVar8 + 0x1c);\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  puVar1 = PTR_LAB_003f98e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar9 / iVar2;\n  iVar9 = iVar9 % iVar2;\n  if (iVar3 < iVar9) {\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }\n  iVar9 = iVar21 * iVar3 + iVar9;\n  iVar21 = iVar21 + iVar9;\n  if (iVar9 < iVar21) {\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00069498(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  ulonglong uVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  int iVar21;\n  \n  iVar8 = *param_1;\n  iVar9 = *(int *)(iVar8 + 0x1c);\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  puVar1 = PTR_LAB_003f98e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar9 / iVar2;\n  iVar9 = iVar9 % iVar2;\n  if (iVar3 < iVar9) {\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }\n  iVar9 = iVar21 * iVar3 + iVar9;\n  iVar21 = iVar21 + iVar9;\n  if (iVar9 < iVar21) {\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "double dVar12;" primitive_type identifier ;) (declaration "double dVar13;" primitive_type identifier ;) (declaration "float fVar14;" primitive_type identifier ;) (declaration "double dVar15;" primitive_type identifier ;) (declaration "double dVar16;" primitive_type identifier ;) (declaration "ulonglong uVar17;" type_identifier identifier ;) (declaration "double dVar18;" primitive_type identifier ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "double dVar20;" primitive_type identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (expression_statement "iVar8 = *param_1;" (assignment_expression "iVar8 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar9 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar9 = *(int *)(iVar8 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar8 + 0x1c)" * (cast_expression "(int *)(iVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();" (assignment_expression "iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)()" identifier = (call_expression "(*(code *)PTR_omp_get_num_threads_003fa924)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003fa924)" ( (pointer_expression "*(code *)PTR_omp_get_num_threads_003fa924" * (cast_expression "(code *)PTR_omp_get_num_threads_003fa924" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();" (assignment_expression "iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)()" identifier = (call_expression "(*(code *)PTR_omp_get_thread_num_003fa520)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003fa520)" ( (pointer_expression "*(code *)PTR_omp_get_thread_num_003fa520" * (cast_expression "(code *)PTR_omp_get_thread_num_003fa520" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "puVar1 = PTR_LAB_003f98e0;" (assignment_expression "puVar1 = PTR_LAB_003f98e0" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar21 = iVar9 / iVar2;" (assignment_expression "iVar21 = iVar9 / iVar2" identifier = (binary_expression "iVar9 / iVar2" identifier / identifier)) ;) (expression_statement "iVar9 = iVar9 % iVar2;" (assignment_expression "iVar9 = iVar9 % iVar2" identifier = (binary_expression "iVar9 % iVar2" identifier % identifier)) ;) (if_statement "if (iVar3 < iVar9) {\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }" if (parenthesized_expression "(iVar3 < iVar9)" ( (binary_expression "iVar3 < iVar9" identifier < identifier) )) (compound_statement "{\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }" { (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) })) (expression_statement "iVar9 = iVar21 * iVar3 + iVar9;" (assignment_expression "iVar9 = iVar21 * iVar3 + iVar9" identifier = (binary_expression "iVar21 * iVar3 + iVar9" (binary_expression "iVar21 * iVar3" identifier * identifier) + identifier)) ;) (expression_statement "iVar21 = iVar21 + iVar9;" (assignment_expression "iVar21 = iVar21 + iVar9" identifier = (binary_expression "iVar21 + iVar9" identifier + identifier)) ;) (if_statement "if (iVar9 < iVar21) {\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }" if (parenthesized_expression "(iVar9 < iVar21)" ( (binary_expression "iVar9 < iVar21" identifier < identifier) )) (compound_statement "{\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }" { (expression_statement "iVar11 = param_1[3];" (assignment_expression "iVar11 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = param_1[2];" (assignment_expression "iVar2 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = param_1[1];" (assignment_expression "iVar3 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);" (assignment_expression "uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" identifier = (binary_expression "(ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x4aa8)" ( (binary_expression "PTR_LAB_003f98e0 + 0x4aa8" identifier + number_literal) ))))) ;) (expression_statement "dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);" (assignment_expression "dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0)" identifier = (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43d0)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43d0)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43d0" identifier + number_literal) ))))) ;) (expression_statement "dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);" (assignment_expression "dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0)" identifier = (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43e0)" * (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43e0)" ( (binary_expression "PTR_LAB_003f98e0 + 0x43e0" identifier + number_literal) ))))) ;) (do_statement "do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);" do (compound_statement "{\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    }" { (if_statement "if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }" if (parenthesized_expression "(param_1[4] != 0)" ( (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }" { (expression_statement "iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);" (assignment_expression "iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3)" identifier = (call_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3)" (parenthesized_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)" ( (pointer_expression "*(code *)PTR_GetCacheViewAuthenticPixels_003fa664" * (cast_expression "(code *)PTR_GetCacheViewAuthenticPixels_003fa664" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar8 + 0x18)" * (cast_expression "(undefined4 *)(iVar8 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) )))) , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          param_1[4] = 0;\n        }" { (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }" else (compound_statement "{\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }" { (expression_statement "iVar10 = *(int *)(iVar8 + 0x18);" (assignment_expression "iVar10 = *(int *)(iVar8 + 0x18)" identifier = (pointer_expression "*(int *)(iVar8 + 0x18)" * (cast_expression "(int *)(iVar8 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }" { (expression_statement "dVar20 = *(double *)(puVar1 + 0x43d0);" (assignment_expression "dVar20 = *(double *)(puVar1 + 0x43d0)" identifier = (pointer_expression "*(double *)(puVar1 + 0x43d0)" * (cast_expression "(double *)(puVar1 + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43d0)" ( (binary_expression "puVar1 + 0x43d0" identifier + number_literal) ))))) ;) (expression_statement "dVar18 = *(double *)(puVar1 + 0x43e0);" (assignment_expression "dVar18 = *(double *)(puVar1 + 0x43e0)" identifier = (pointer_expression "*(double *)(puVar1 + 0x43e0)" * (cast_expression "(double *)(puVar1 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43e0)" ( (binary_expression "puVar1 + 0x43e0" identifier + number_literal) ))))) ;) (do_statement "do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);" do (compound_statement "{\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            }" { (expression_statement "iVar5 = *(int *)(iVar8 + 0x2d0);" (assignment_expression "iVar5 = *(int *)(iVar8 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar8 + 0x2d0)" * (cast_expression "(int *)(iVar8 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2d0)" ( (binary_expression "iVar8 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);" (assignment_expression "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar4 + *(int *)(iVar5 + 8) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(iVar5 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(iVar5 + 8) * 4)" ( (binary_expression "iVar4 + *(int *)(iVar5 + 8) * 4" identifier + (binary_expression "*(int *)(iVar5 + 8) * 4" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }" if (parenthesized_expression "(fVar14 < (float)uVar17)" ( (binary_expression "fVar14 < (float)uVar17" identifier < (cast_expression "(float)uVar17" ( (type_descriptor "float" primitive_type) ) identifier)) )) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }" { (if_statement "if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" if (parenthesized_expression "(NAN(fVar14))" ( (call_expression "NAN(fVar14)" identifier (argument_list "(fVar14)" ( identifier ))) )) (compound_statement "{\n                  iVar6 = 0;\n                }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }) (else_clause "else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" else (if_statement "if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" if (parenthesized_expression "(0.0 < fVar14)" ( (binary_expression "0.0 < fVar14" number_literal < identifier) )) (compound_statement "{\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }" { (expression_statement "dVar16 = (double)fVar14 + dVar12;" (assignment_expression "dVar16 = (double)fVar14 + dVar12" identifier = (binary_expression "(double)fVar14 + dVar12" (cast_expression "(double)fVar14" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }" if (parenthesized_expression "(dVar16 < dVar19)" ( (binary_expression "dVar16 < dVar19" identifier < identifier) )) (compound_statement "{\n                    iVar6 = (int)dVar16;\n                  }" { (expression_statement "iVar6 = (int)dVar16;" (assignment_expression "iVar6 = (int)dVar16" identifier = (cast_expression "(int)dVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }" else (compound_statement "{\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }" { (expression_statement "iVar6 = (int)(dVar16 - dVar19);" (assignment_expression "iVar6 = (int)(dVar16 - dVar19)" identifier = (cast_expression "(int)(dVar16 - dVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar16 - dVar19)" ( (binary_expression "dVar16 - dVar19" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                  iVar6 = 0;\n                }" else (compound_statement "{\n                  iVar6 = 0;\n                }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                iVar6 = 0xffff;\n              }" else (compound_statement "{\n                iVar6 = 0xffff;\n              }" { (expression_statement "iVar6 = 0xffff;" (assignment_expression "iVar6 = 0xffff" identifier = number_literal) ;) }))) (expression_statement "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);" (assignment_expression "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(iVar5 + 0x14) * 4)" ( (binary_expression "iVar4 + *(int *)(iVar5 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar5 + 0x14) * 4" (pointer_expression "*(int *)(iVar5 + 0x14)" * (cast_expression "(int *)(iVar5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x14)" ( (binary_expression "iVar5 + 0x14" identifier + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }" if (parenthesized_expression "(fVar14 < *(float *)(puVar1 + 0x4aa8))" ( (binary_expression "fVar14 < *(float *)(puVar1 + 0x4aa8)" identifier < (pointer_expression "*(float *)(puVar1 + 0x4aa8)" * (cast_expression "(float *)(puVar1 + 0x4aa8)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x4aa8)" ( (binary_expression "puVar1 + 0x4aa8" identifier + number_literal) ))))) )) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }" { (if_statement "if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" if (parenthesized_expression "(NAN(fVar14))" ( (call_expression "NAN(fVar14)" identifier (argument_list "(fVar14)" ( identifier ))) )) (compound_statement "{\n                  iVar7 = 0;\n                }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }) (else_clause "else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" else (if_statement "if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" if (parenthesized_expression "(0.0 < fVar14)" ( (binary_expression "0.0 < fVar14" number_literal < identifier) )) (compound_statement "{\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }" { (expression_statement "dVar16 = (double)fVar14 + dVar20;" (assignment_expression "dVar16 = (double)fVar14 + dVar20" identifier = (binary_expression "(double)fVar14 + dVar20" (cast_expression "(double)fVar14" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }" if (parenthesized_expression "(dVar16 < dVar18)" ( (binary_expression "dVar16 < dVar18" identifier < identifier) )) (compound_statement "{\n                    iVar7 = (int)dVar16;\n                  }" { (expression_statement "iVar7 = (int)dVar16;" (assignment_expression "iVar7 = (int)dVar16" identifier = (cast_expression "(int)dVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }" else (compound_statement "{\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }" { (expression_statement "iVar7 = (int)(dVar16 - dVar18);" (assignment_expression "iVar7 = (int)(dVar16 - dVar18)" identifier = (cast_expression "(int)(dVar16 - dVar18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar16 - dVar18)" ( (binary_expression "dVar16 - dVar18" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                  iVar7 = 0;\n                }" else (compound_statement "{\n                  iVar7 = 0;\n                }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                iVar7 = 0xffff;\n              }" else (compound_statement "{\n                iVar7 = 0xffff;\n              }" { (expression_statement "iVar7 = 0xffff;" (assignment_expression "iVar7 = 0xffff" identifier = number_literal) ;) }))) (expression_statement "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);" (assignment_expression "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4)" identifier = (pointer_expression "*(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(iVar5 + 0x20) * 4)" ( (binary_expression "iVar4 + *(int *)(iVar5 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar5 + 0x20) * 4" (pointer_expression "*(int *)(iVar5 + 0x20)" * (cast_expression "(int *)(iVar5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x20)" ( (binary_expression "iVar5 + 0x20" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);" (assignment_expression "dVar16 = (double)*(float *)(iVar11 + iVar7 * 4)" identifier = (cast_expression "(double)*(float *)(iVar11 + iVar7 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar11 + iVar7 * 4)" * (cast_expression "(float *)(iVar11 + iVar7 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar7 * 4)" ( (binary_expression "iVar11 + iVar7 * 4" identifier + (binary_expression "iVar7 * 4" identifier * number_literal)) )))))) ;) (if_statement "if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }" if (parenthesized_expression "(fVar14 < *(float *)(puVar1 + 0x4aa8))" ( (binary_expression "fVar14 < *(float *)(puVar1 + 0x4aa8)" identifier < (pointer_expression "*(float *)(puVar1 + 0x4aa8)" * (cast_expression "(float *)(puVar1 + 0x4aa8)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x4aa8)" ( (binary_expression "puVar1 + 0x4aa8" identifier + number_literal) ))))) )) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }" { (if_statement "if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }" if (parenthesized_expression "(NAN(fVar14))" ( (call_expression "NAN(fVar14)" identifier (argument_list "(fVar14)" ( identifier ))) )) (compound_statement "{\n                  iVar5 = 0;\n                }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) }) (else_clause "else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }" else (if_statement "if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }" if (parenthesized_expression "(0.0 < fVar14)" ( (binary_expression "0.0 < fVar14" number_literal < identifier) )) (compound_statement "{\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }" { (expression_statement "dVar13 = (double)fVar14 + dVar12;" (assignment_expression "dVar13 = (double)fVar14 + dVar12" identifier = (binary_expression "(double)fVar14 + dVar12" (cast_expression "(double)fVar14" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" if (parenthesized_expression "(dVar13 < *(double *)(puVar1 + 0x43e0))" ( (binary_expression "dVar13 < *(double *)(puVar1 + 0x43e0)" identifier < (pointer_expression "*(double *)(puVar1 + 0x43e0)" * (cast_expression "(double *)(puVar1 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43e0)" ( (binary_expression "puVar1 + 0x43e0" identifier + number_literal) ))))) )) (compound_statement "{\n                    iVar5 = (int)dVar13;\n                  }" { (expression_statement "iVar5 = (int)dVar13;" (assignment_expression "iVar5 = (int)dVar13" identifier = (cast_expression "(int)dVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" else (compound_statement "{\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" { (expression_statement "iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));" (assignment_expression "iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0))" identifier = (cast_expression "(int)(dVar13 - *(double *)(puVar1 + 0x43e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar13 - *(double *)(puVar1 + 0x43e0))" ( (binary_expression "dVar13 - *(double *)(puVar1 + 0x43e0)" identifier - (pointer_expression "*(double *)(puVar1 + 0x43e0)" * (cast_expression "(double *)(puVar1 + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x43e0)" ( (binary_expression "puVar1 + 0x43e0" identifier + number_literal) ))))) )))) ;) }))) }) (else_clause "else {\n                  iVar5 = 0;\n                }" else (compound_statement "{\n                  iVar5 = 0;\n                }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n                iVar5 = 0xffff;\n              }" else (compound_statement "{\n                iVar5 = 0xffff;\n              }" { (expression_statement "iVar5 = 0xffff;" (assignment_expression "iVar5 = 0xffff" identifier = number_literal) ;) }))) (expression_statement "dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);" (assignment_expression "dVar15 = (double)*(float *)(iVar11 + iVar5 * 4)" identifier = (cast_expression "(double)*(float *)(iVar11 + iVar5 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar11 + iVar5 * 4)" * (cast_expression "(float *)(iVar11 + iVar5 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar5 * 4)" ( (binary_expression "iVar11 + iVar5 * 4" identifier + (binary_expression "iVar5 * 4" identifier * number_literal)) )))))) ;) (expression_statement "dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));" (assignment_expression "dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4))" identifier = (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4))" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4))" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" ( (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" * (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((double)*(float *)(iVar11 + iVar6 * 4))" ( (cast_expression "(double)*(float *)(iVar11 + iVar6 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar11 + iVar6 * 4)" * (cast_expression "(float *)(iVar11 + iVar6 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar6 * 4)" ( (binary_expression "iVar11 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) ))))) ))))) ;) (expression_statement "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;" (assignment_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13" (pointer_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar8 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar8 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar8 + 0x2d0)" * (cast_expression "(int *)(iVar8 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2d0)" ( (binary_expression "iVar8 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar13" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);" (assignment_expression "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" identifier = (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" ( (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" * (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar16)" ( identifier ))))) ;) (expression_statement "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;" (assignment_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16" (pointer_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4)" ( (binary_expression "iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4" (pointer_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x14)" * (cast_expression "(int *)(*(int *)(iVar8 + 0x2d0) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x2d0) + 0x14)" ( (binary_expression "*(int *)(iVar8 + 0x2d0) + 0x14" (pointer_expression "*(int *)(iVar8 + 0x2d0)" * (cast_expression "(int *)(iVar8 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2d0)" ( (binary_expression "iVar8 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar16" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);" (assignment_expression "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" identifier = (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" ( (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" * (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar15)" ( identifier ))))) ;) (expression_statement "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;" (assignment_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16" (pointer_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4)" * (cast_expression "(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4)" ( (binary_expression "iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4" (pointer_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar8 + 0x2d0) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar8 + 0x2d0) + 0x20)" ( (binary_expression "*(int *)(iVar8 + 0x2d0) + 0x20" (pointer_expression "*(int *)(iVar8 + 0x2d0)" * (cast_expression "(int *)(iVar8 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2d0)" ( (binary_expression "iVar8 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar16" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;" (assignment_expression "iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4" identifier = (binary_expression "iVar4 + *(int *)(iVar8 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar8 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar8 + 0x2c0)" * (cast_expression "(int *)(iVar8 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2c0)" ( (binary_expression "iVar8 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) })) (expression_statement "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);" (assignment_expression "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3)" identifier = (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3)" (parenthesized_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)" ( (pointer_expression "*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510" * (cast_expression "(code *)PTR_SyncCacheViewAuthenticPixels_003fa510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,iVar3)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n            param_1[4] = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            param_1[4] = 0;\n          }" { (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) })) }))) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 != iVar9)" ( (binary_expression "iVar21 != iVar9" identifier != identifier) )) ;) })) (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 TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression 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 = (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 = (binary_expression (parenthesized_expression ( IDENT )) * (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , 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 IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) ))))) ;) (do_statement do (compound_statement { (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 + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 IDENT * LIT)) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))))) }) (else_clause else (compound_statement { (expression_statement (assignment_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 IDENT * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void FUN_00069498(int *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  ulonglong uVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  int iVar21;\n  \n  iVar8 = *param_1;\n  iVar9 = *(int *)(iVar8 + 0x1c);\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  puVar1 = PTR_LAB_003f98e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar9 / iVar2;\n  iVar9 = iVar9 % iVar2;\n  if (iVar3 < iVar9) {\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }\n  iVar9 = iVar21 * iVar3 + iVar9;\n  iVar21 = iVar21 + iVar9;\n  if (iVar9 < iVar21) {\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00069498(int *param_1)" (identifier "FUN_00069498") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  double dVar12;\n  double dVar13;\n  float fVar14;\n  double dVar15;\n  double dVar16;\n  ulonglong uVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  int iVar21;\n  \n  iVar8 = *param_1;\n  iVar9 = *(int *)(iVar8 + 0x1c);\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  puVar1 = PTR_LAB_003f98e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar9 / iVar2;\n  iVar9 = iVar9 % iVar2;\n  if (iVar3 < iVar9) {\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }\n  iVar9 = iVar21 * iVar3 + iVar9;\n  iVar21 = iVar21 + iVar9;\n  if (iVar9 < iVar21) {\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }\n  return;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "double dVar12;" (primitive_type "double") (identifier "dVar12") (; ";")) (declaration "double dVar13;" (primitive_type "double") (identifier "dVar13") (; ";")) (declaration "float fVar14;" (primitive_type "float") (identifier "fVar14") (; ";")) (declaration "double dVar15;" (primitive_type "double") (identifier "dVar15") (; ";")) (declaration "double dVar16;" (primitive_type "double") (identifier "dVar16") (; ";")) (declaration "ulonglong uVar17;" (type_identifier "ulonglong") (identifier "uVar17") (; ";")) (declaration "double dVar18;" (primitive_type "double") (identifier "dVar18") (; ";")) (declaration "double dVar19;" (primitive_type "double") (identifier "dVar19") (; ";")) (declaration "double dVar20;" (primitive_type "double") (identifier "dVar20") (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (expression_statement "iVar8 = *param_1;" (assignment_expression "iVar8 = *param_1" (identifier "iVar8") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "iVar9 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar9 = *(int *)(iVar8 + 0x1c)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar8 + 0x1c)" (* "*") (cast_expression "(int *)(iVar8 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1c)" (( "(") (binary_expression "iVar8 + 0x1c" (identifier "iVar8") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();" (assignment_expression "iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)()" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_omp_get_num_threads_003fa924)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003fa924)" (( "(") (pointer_expression "*(code *)PTR_omp_get_num_threads_003fa924" (* "*") (cast_expression "(code *)PTR_omp_get_num_threads_003fa924" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_omp_get_num_threads_003fa924"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();" (assignment_expression "iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)()" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_omp_get_thread_num_003fa520)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003fa520)" (( "(") (pointer_expression "*(code *)PTR_omp_get_thread_num_003fa520" (* "*") (cast_expression "(code *)PTR_omp_get_thread_num_003fa520" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_omp_get_thread_num_003fa520"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_LAB_003f98e0;" (assignment_expression "puVar1 = PTR_LAB_003f98e0" (identifier "puVar1") (= "=") (identifier "PTR_LAB_003f98e0")) (; ";")) (if_statement "if (iVar2 == 0) {\n    trap(7);\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    trap(7);\n  }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar21 = iVar9 / iVar2;" (assignment_expression "iVar21 = iVar9 / iVar2" (identifier "iVar21") (= "=") (binary_expression "iVar9 / iVar2" (identifier "iVar9") (/ "/") (identifier "iVar2"))) (; ";")) (expression_statement "iVar9 = iVar9 % iVar2;" (assignment_expression "iVar9 = iVar9 % iVar2" (identifier "iVar9") (= "=") (binary_expression "iVar9 % iVar2" (identifier "iVar9") (% "%") (identifier "iVar2"))) (; ";")) (if_statement "if (iVar3 < iVar9) {\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }" (if "if") (parenthesized_expression "(iVar3 < iVar9)" (( "(") (binary_expression "iVar3 < iVar9" (identifier "iVar3") (< "<") (identifier "iVar9")) () ")")) (compound_statement "{\n    iVar21 = iVar21 + 1;\n    iVar9 = 0;\n  }" ({ "{") (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" (identifier "iVar21") (= "=") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar9 = iVar21 * iVar3 + iVar9;" (assignment_expression "iVar9 = iVar21 * iVar3 + iVar9" (identifier "iVar9") (= "=") (binary_expression "iVar21 * iVar3 + iVar9" (binary_expression "iVar21 * iVar3" (identifier "iVar21") (* "*") (identifier "iVar3")) (+ "+") (identifier "iVar9"))) (; ";")) (expression_statement "iVar21 = iVar21 + iVar9;" (assignment_expression "iVar21 = iVar21 + iVar9" (identifier "iVar21") (= "=") (binary_expression "iVar21 + iVar9" (identifier "iVar21") (+ "+") (identifier "iVar9"))) (; ";")) (if_statement "if (iVar9 < iVar21) {\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }" (if "if") (parenthesized_expression "(iVar9 < iVar21)" (( "(") (binary_expression "iVar9 < iVar21" (identifier "iVar9") (< "<") (identifier "iVar21")) () ")")) (compound_statement "{\n    iVar11 = param_1[3];\n    iVar2 = param_1[2];\n    iVar3 = param_1[1];\n    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);\n    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);\n    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);\n    do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);\n  }" ({ "{") (expression_statement "iVar11 = param_1[3];" (assignment_expression "iVar11 = param_1[3]" (identifier "iVar11") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar2 = param_1[2];" (assignment_expression "iVar2 = param_1[2]" (identifier "iVar2") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar3 = param_1[1];" (assignment_expression "iVar3 = param_1[1]" (identifier "iVar3") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);" (assignment_expression "uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" (identifier "uVar17") (= "=") (binary_expression "(ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (* "*") (cast_expression "(uint *)(PTR_LAB_003f98e0 + 0x4aa8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003f98e0 + 0x4aa8)" (( "(") (binary_expression "PTR_LAB_003f98e0 + 0x4aa8" (identifier "PTR_LAB_003f98e0") (+ "+") (number_literal "0x4aa8")) () ")"))))) (; ";")) (expression_statement "dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);" (assignment_expression "dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0)" (identifier "dVar12") (= "=") (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43d0)" (* "*") (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43d0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43d0)" (( "(") (binary_expression "PTR_LAB_003f98e0 + 0x43d0" (identifier "PTR_LAB_003f98e0") (+ "+") (number_literal "0x43d0")) () ")"))))) (; ";")) (expression_statement "dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);" (assignment_expression "dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(PTR_LAB_003f98e0 + 0x43e0)" (* "*") (cast_expression "(double *)(PTR_LAB_003f98e0 + 0x43e0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003f98e0 + 0x43e0)" (( "(") (binary_expression "PTR_LAB_003f98e0 + 0x43e0" (identifier "PTR_LAB_003f98e0") (+ "+") (number_literal "0x43e0")) () ")"))))) (; ";")) (do_statement "do {\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    } while (iVar21 != iVar9);" (do "do") (compound_statement "{\n      if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }\n      iVar9 = iVar9 + 1;\n    }" ({ "{") (if_statement "if (param_1[4] != 0) {\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(param_1[4] != 0)" (( "(") (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);\n        if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }\n      }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);" (assignment_expression "iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)\n                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3)" (parenthesized_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)" (( "(") (pointer_expression "*(code *)PTR_GetCacheViewAuthenticPixels_003fa664" (* "*") (cast_expression "(code *)PTR_GetCacheViewAuthenticPixels_003fa664" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetCacheViewAuthenticPixels_003fa664"))) () ")")) (argument_list "(iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3)" (( "(") (identifier "iVar2") (, ",") (number_literal "0") (, ",") (identifier "iVar9") (, ",") (pointer_expression "*(undefined4 *)(iVar8 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x18)" (( "(") (binary_expression "iVar8 + 0x18" (identifier "iVar8") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (number_literal "1") (, ",") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          param_1[4] = 0;\n        }\n        else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          param_1[4] = 0;\n        }" ({ "{") (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }" (else "else") (compound_statement "{\n          iVar10 = *(int *)(iVar8 + 0x18);\n          if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);\n          if (iVar4 == 0) {\n            param_1[4] = 0;\n          }\n        }" ({ "{") (expression_statement "iVar10 = *(int *)(iVar8 + 0x18);" (assignment_expression "iVar10 = *(int *)(iVar8 + 0x18)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar8 + 0x18)" (* "*") (cast_expression "(int *)(iVar8 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x18)" (( "(") (binary_expression "iVar8 + 0x18" (identifier "iVar8") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (iVar10 != 0) {\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            dVar20 = *(double *)(puVar1 + 0x43d0);\n            dVar18 = *(double *)(puVar1 + 0x43e0);\n            do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);\n          }" ({ "{") (expression_statement "dVar20 = *(double *)(puVar1 + 0x43d0);" (assignment_expression "dVar20 = *(double *)(puVar1 + 0x43d0)" (identifier "dVar20") (= "=") (pointer_expression "*(double *)(puVar1 + 0x43d0)" (* "*") (cast_expression "(double *)(puVar1 + 0x43d0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x43d0)" (( "(") (binary_expression "puVar1 + 0x43d0" (identifier "puVar1") (+ "+") (number_literal "0x43d0")) () ")"))))) (; ";")) (expression_statement "dVar18 = *(double *)(puVar1 + 0x43e0);" (assignment_expression "dVar18 = *(double *)(puVar1 + 0x43e0)" (identifier "dVar18") (= "=") (pointer_expression "*(double *)(puVar1 + 0x43e0)" (* "*") (cast_expression "(double *)(puVar1 + 0x43e0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x43e0)" (( "(") (binary_expression "puVar1 + 0x43e0" (identifier "puVar1") (+ "+") (number_literal "0x43e0")) () ")"))))) (; ";")) (do_statement "do {\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            } while (iVar10 != 0);" (do "do") (compound_statement "{\n              iVar5 = *(int *)(iVar8 + 0x2d0);\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);\n              if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }\n              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);\n              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);\n              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }\n              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);\n              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;\n              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);\n              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;\n              iVar10 = iVar10 + -1;\n              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n            }" ({ "{") (expression_statement "iVar5 = *(int *)(iVar8 + 0x2d0);" (assignment_expression "iVar5 = *(int *)(iVar8 + 0x2d0)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar8 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar8 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x2d0)" (( "(") (binary_expression "iVar8 + 0x2d0" (identifier "iVar8") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);" (assignment_expression "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4)" (identifier "fVar14") (= "=") (pointer_expression "*(float *)(iVar4 + *(int *)(iVar5 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar4 + *(int *)(iVar5 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + *(int *)(iVar5 + 8) * 4)" (( "(") (binary_expression "iVar4 + *(int *)(iVar5 + 8) * 4" (identifier "iVar4") (+ "+") (binary_expression "*(int *)(iVar5 + 8) * 4" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar14 < (float)uVar17) {\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }\n              else {\n                iVar6 = 0xffff;\n              }" (if "if") (parenthesized_expression "(fVar14 < (float)uVar17)" (( "(") (binary_expression "fVar14 < (float)uVar17" (identifier "fVar14") (< "<") (cast_expression "(float)uVar17" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "uVar17"))) () ")")) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }\n              }" ({ "{") (if_statement "if (NAN(fVar14)) {\n                  iVar6 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" (if "if") (parenthesized_expression "(NAN(fVar14))" (( "(") (call_expression "NAN(fVar14)" (identifier "NAN") (argument_list "(fVar14)" (( "(") (identifier "fVar14") () ")"))) () ")")) (compound_statement "{\n                  iVar6 = 0;\n                }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" (else "else") (if_statement "if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }\n                else {\n                  iVar6 = 0;\n                }" (if "if") (parenthesized_expression "(0.0 < fVar14)" (( "(") (binary_expression "0.0 < fVar14" (number_literal "0.0") (< "<") (identifier "fVar14")) () ")")) (compound_statement "{\n                  dVar16 = (double)fVar14 + dVar12;\n                  if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }\n                }" ({ "{") (expression_statement "dVar16 = (double)fVar14 + dVar12;" (assignment_expression "dVar16 = (double)fVar14 + dVar12" (identifier "dVar16") (= "=") (binary_expression "(double)fVar14 + dVar12" (cast_expression "(double)fVar14" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar14")) (+ "+") (identifier "dVar12"))) (; ";")) (if_statement "if (dVar16 < dVar19) {\n                    iVar6 = (int)dVar16;\n                  }\n                  else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }" (if "if") (parenthesized_expression "(dVar16 < dVar19)" (( "(") (binary_expression "dVar16 < dVar19" (identifier "dVar16") (< "<") (identifier "dVar19")) () ")")) (compound_statement "{\n                    iVar6 = (int)dVar16;\n                  }" ({ "{") (expression_statement "iVar6 = (int)dVar16;" (assignment_expression "iVar6 = (int)dVar16" (identifier "iVar6") (= "=") (cast_expression "(int)dVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar16"))) (; ";")) (} "}")) (else_clause "else {\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }" (else "else") (compound_statement "{\n                    iVar6 = (int)(dVar16 - dVar19);\n                  }" ({ "{") (expression_statement "iVar6 = (int)(dVar16 - dVar19);" (assignment_expression "iVar6 = (int)(dVar16 - dVar19)" (identifier "iVar6") (= "=") (cast_expression "(int)(dVar16 - dVar19)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(dVar16 - dVar19)" (( "(") (binary_expression "dVar16 - dVar19" (identifier "dVar16") (- "-") (identifier "dVar19")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                  iVar6 = 0;\n                }" (else "else") (compound_statement "{\n                  iVar6 = 0;\n                }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (} "}")))))) (} "}")) (else_clause "else {\n                iVar6 = 0xffff;\n              }" (else "else") (compound_statement "{\n                iVar6 = 0xffff;\n              }" ({ "{") (expression_statement "iVar6 = 0xffff;" (assignment_expression "iVar6 = 0xffff" (identifier "iVar6") (= "=") (number_literal "0xffff")) (; ";")) (} "}")))) (expression_statement "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);" (assignment_expression "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4)" (identifier "fVar14") (= "=") (pointer_expression "*(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + *(int *)(iVar5 + 0x14) * 4)" (( "(") (binary_expression "iVar4 + *(int *)(iVar5 + 0x14) * 4" (identifier "iVar4") (+ "+") (binary_expression "*(int *)(iVar5 + 0x14) * 4" (pointer_expression "*(int *)(iVar5 + 0x14)" (* "*") (cast_expression "(int *)(iVar5 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x14)" (( "(") (binary_expression "iVar5 + 0x14" (identifier "iVar5") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }\n              else {\n                iVar7 = 0xffff;\n              }" (if "if") (parenthesized_expression "(fVar14 < *(float *)(puVar1 + 0x4aa8))" (( "(") (binary_expression "fVar14 < *(float *)(puVar1 + 0x4aa8)" (identifier "fVar14") (< "<") (pointer_expression "*(float *)(puVar1 + 0x4aa8)" (* "*") (cast_expression "(float *)(puVar1 + 0x4aa8)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x4aa8)" (( "(") (binary_expression "puVar1 + 0x4aa8" (identifier "puVar1") (+ "+") (number_literal "0x4aa8")) () ")"))))) () ")")) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }\n              }" ({ "{") (if_statement "if (NAN(fVar14)) {\n                  iVar7 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" (if "if") (parenthesized_expression "(NAN(fVar14))" (( "(") (call_expression "NAN(fVar14)" (identifier "NAN") (argument_list "(fVar14)" (( "(") (identifier "fVar14") () ")"))) () ")")) (compound_statement "{\n                  iVar7 = 0;\n                }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" (else "else") (if_statement "if (0.0 < fVar14) {\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }\n                else {\n                  iVar7 = 0;\n                }" (if "if") (parenthesized_expression "(0.0 < fVar14)" (( "(") (binary_expression "0.0 < fVar14" (number_literal "0.0") (< "<") (identifier "fVar14")) () ")")) (compound_statement "{\n                  dVar16 = (double)fVar14 + dVar20;\n                  if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }\n                }" ({ "{") (expression_statement "dVar16 = (double)fVar14 + dVar20;" (assignment_expression "dVar16 = (double)fVar14 + dVar20" (identifier "dVar16") (= "=") (binary_expression "(double)fVar14 + dVar20" (cast_expression "(double)fVar14" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar14")) (+ "+") (identifier "dVar20"))) (; ";")) (if_statement "if (dVar16 < dVar18) {\n                    iVar7 = (int)dVar16;\n                  }\n                  else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }" (if "if") (parenthesized_expression "(dVar16 < dVar18)" (( "(") (binary_expression "dVar16 < dVar18" (identifier "dVar16") (< "<") (identifier "dVar18")) () ")")) (compound_statement "{\n                    iVar7 = (int)dVar16;\n                  }" ({ "{") (expression_statement "iVar7 = (int)dVar16;" (assignment_expression "iVar7 = (int)dVar16" (identifier "iVar7") (= "=") (cast_expression "(int)dVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar16"))) (; ";")) (} "}")) (else_clause "else {\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }" (else "else") (compound_statement "{\n                    iVar7 = (int)(dVar16 - dVar18);\n                  }" ({ "{") (expression_statement "iVar7 = (int)(dVar16 - dVar18);" (assignment_expression "iVar7 = (int)(dVar16 - dVar18)" (identifier "iVar7") (= "=") (cast_expression "(int)(dVar16 - dVar18)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(dVar16 - dVar18)" (( "(") (binary_expression "dVar16 - dVar18" (identifier "dVar16") (- "-") (identifier "dVar18")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                  iVar7 = 0;\n                }" (else "else") (compound_statement "{\n                  iVar7 = 0;\n                }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (} "}")))))) (} "}")) (else_clause "else {\n                iVar7 = 0xffff;\n              }" (else "else") (compound_statement "{\n                iVar7 = 0xffff;\n              }" ({ "{") (expression_statement "iVar7 = 0xffff;" (assignment_expression "iVar7 = 0xffff" (identifier "iVar7") (= "=") (number_literal "0xffff")) (; ";")) (} "}")))) (expression_statement "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);" (assignment_expression "fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4)" (identifier "fVar14") (= "=") (pointer_expression "*(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4)" (* "*") (cast_expression "(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + *(int *)(iVar5 + 0x20) * 4)" (( "(") (binary_expression "iVar4 + *(int *)(iVar5 + 0x20) * 4" (identifier "iVar4") (+ "+") (binary_expression "*(int *)(iVar5 + 0x20) * 4" (pointer_expression "*(int *)(iVar5 + 0x20)" (* "*") (cast_expression "(int *)(iVar5 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x20)" (( "(") (binary_expression "iVar5 + 0x20" (identifier "iVar5") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);" (assignment_expression "dVar16 = (double)*(float *)(iVar11 + iVar7 * 4)" (identifier "dVar16") (= "=") (cast_expression "(double)*(float *)(iVar11 + iVar7 * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar11 + iVar7 * 4)" (* "*") (cast_expression "(float *)(iVar11 + iVar7 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + iVar7 * 4)" (( "(") (binary_expression "iVar11 + iVar7 * 4" (identifier "iVar11") (+ "+") (binary_expression "iVar7 * 4" (identifier "iVar7") (* "*") (number_literal "4"))) () ")")))))) (; ";")) (if_statement "if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }\n              else {\n                iVar5 = 0xffff;\n              }" (if "if") (parenthesized_expression "(fVar14 < *(float *)(puVar1 + 0x4aa8))" (( "(") (binary_expression "fVar14 < *(float *)(puVar1 + 0x4aa8)" (identifier "fVar14") (< "<") (pointer_expression "*(float *)(puVar1 + 0x4aa8)" (* "*") (cast_expression "(float *)(puVar1 + 0x4aa8)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x4aa8)" (( "(") (binary_expression "puVar1 + 0x4aa8" (identifier "puVar1") (+ "+") (number_literal "0x4aa8")) () ")"))))) () ")")) (compound_statement "{\n                if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }\n              }" ({ "{") (if_statement "if (NAN(fVar14)) {\n                  iVar5 = 0;\n                }\n                else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }" (if "if") (parenthesized_expression "(NAN(fVar14))" (( "(") (call_expression "NAN(fVar14)" (identifier "NAN") (argument_list "(fVar14)" (( "(") (identifier "fVar14") () ")"))) () ")")) (compound_statement "{\n                  iVar5 = 0;\n                }" ({ "{") (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }" (else "else") (if_statement "if (0.0 < fVar14) {\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }\n                else {\n                  iVar5 = 0;\n                }" (if "if") (parenthesized_expression "(0.0 < fVar14)" (( "(") (binary_expression "0.0 < fVar14" (number_literal "0.0") (< "<") (identifier "fVar14")) () ")")) (compound_statement "{\n                  dVar13 = (double)fVar14 + dVar12;\n                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }\n                }" ({ "{") (expression_statement "dVar13 = (double)fVar14 + dVar12;" (assignment_expression "dVar13 = (double)fVar14 + dVar12" (identifier "dVar13") (= "=") (binary_expression "(double)fVar14 + dVar12" (cast_expression "(double)fVar14" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar14")) (+ "+") (identifier "dVar12"))) (; ";")) (if_statement "if (dVar13 < *(double *)(puVar1 + 0x43e0)) {\n                    iVar5 = (int)dVar13;\n                  }\n                  else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" (if "if") (parenthesized_expression "(dVar13 < *(double *)(puVar1 + 0x43e0))" (( "(") (binary_expression "dVar13 < *(double *)(puVar1 + 0x43e0)" (identifier "dVar13") (< "<") (pointer_expression "*(double *)(puVar1 + 0x43e0)" (* "*") (cast_expression "(double *)(puVar1 + 0x43e0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x43e0)" (( "(") (binary_expression "puVar1 + 0x43e0" (identifier "puVar1") (+ "+") (number_literal "0x43e0")) () ")"))))) () ")")) (compound_statement "{\n                    iVar5 = (int)dVar13;\n                  }" ({ "{") (expression_statement "iVar5 = (int)dVar13;" (assignment_expression "iVar5 = (int)dVar13" (identifier "iVar5") (= "=") (cast_expression "(int)dVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar13"))) (; ";")) (} "}")) (else_clause "else {\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" (else "else") (compound_statement "{\n                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));\n                  }" ({ "{") (expression_statement "iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));" (assignment_expression "iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0))" (identifier "iVar5") (= "=") (cast_expression "(int)(dVar13 - *(double *)(puVar1 + 0x43e0))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(dVar13 - *(double *)(puVar1 + 0x43e0))" (( "(") (binary_expression "dVar13 - *(double *)(puVar1 + 0x43e0)" (identifier "dVar13") (- "-") (pointer_expression "*(double *)(puVar1 + 0x43e0)" (* "*") (cast_expression "(double *)(puVar1 + 0x43e0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x43e0)" (( "(") (binary_expression "puVar1 + 0x43e0" (identifier "puVar1") (+ "+") (number_literal "0x43e0")) () ")"))))) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                  iVar5 = 0;\n                }" (else "else") (compound_statement "{\n                  iVar5 = 0;\n                }" ({ "{") (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (} "}")))))) (} "}")) (else_clause "else {\n                iVar5 = 0xffff;\n              }" (else "else") (compound_statement "{\n                iVar5 = 0xffff;\n              }" ({ "{") (expression_statement "iVar5 = 0xffff;" (assignment_expression "iVar5 = 0xffff" (identifier "iVar5") (= "=") (number_literal "0xffff")) (; ";")) (} "}")))) (expression_statement "dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);" (assignment_expression "dVar15 = (double)*(float *)(iVar11 + iVar5 * 4)" (identifier "dVar15") (= "=") (cast_expression "(double)*(float *)(iVar11 + iVar5 * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar11 + iVar5 * 4)" (* "*") (cast_expression "(float *)(iVar11 + iVar5 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + iVar5 * 4)" (( "(") (binary_expression "iVar11 + iVar5 * 4" (identifier "iVar11") (+ "+") (binary_expression "iVar5 * 4" (identifier "iVar5") (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4));" (assignment_expression "dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4))" (identifier "dVar13") (= "=") (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)\n                                         ((double)*(float *)(iVar11 + iVar6 * 4))" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" (( "(") (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" (* "*") (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_EncodePixelGamma_003fa67c"))) () ")")) (argument_list "((double)*(float *)(iVar11 + iVar6 * 4))" (( "(") (cast_expression "(double)*(float *)(iVar11 + iVar6 * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar11 + iVar6 * 4)" (* "*") (cast_expression "(float *)(iVar11 + iVar6 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + iVar6 * 4)" (( "(") (binary_expression "iVar11 + iVar6 * 4" (identifier "iVar11") (+ "+") (binary_expression "iVar6 * 4" (identifier "iVar6") (* "*") (number_literal "4"))) () ")"))))) () ")"))))) (; ";")) (expression_statement "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;" (assignment_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13" (pointer_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4)" (* "*") (cast_expression "(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4)" (( "(") (binary_expression "iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4" (identifier "iVar4") (+ "+") (binary_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 8)" (* "*") (cast_expression "(int *)(*(int *)(iVar8 + 0x2d0) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar8 + 0x2d0) + 8)" (( "(") (binary_expression "*(int *)(iVar8 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar8 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar8 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x2d0)" (( "(") (binary_expression "iVar8 + 0x2d0" (identifier "iVar8") (+ "+") (number_literal "0x2d0")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar13" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar13"))) (; ";")) (expression_statement "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);" (assignment_expression "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" (identifier "dVar16") (= "=") (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16)" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" (( "(") (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" (* "*") (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_EncodePixelGamma_003fa67c"))) () ")")) (argument_list "(dVar16)" (( "(") (identifier "dVar16") () ")"))))) (; ";")) (expression_statement "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;" (assignment_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16" (pointer_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4)" (( "(") (binary_expression "iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4" (identifier "iVar4") (+ "+") (binary_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4" (pointer_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x14)" (* "*") (cast_expression "(int *)(*(int *)(iVar8 + 0x2d0) + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar8 + 0x2d0) + 0x14)" (( "(") (binary_expression "*(int *)(iVar8 + 0x2d0) + 0x14" (pointer_expression "*(int *)(iVar8 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar8 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x2d0)" (( "(") (binary_expression "iVar8 + 0x2d0" (identifier "iVar8") (+ "+") (number_literal "0x2d0")) () ")")))) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar16" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar16"))) (; ";")) (expression_statement "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);" (assignment_expression "dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" (identifier "dVar16") (= "=") (cast_expression "(double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15)" (parenthesized_expression "(*(code *)PTR_EncodePixelGamma_003fa67c)" (( "(") (pointer_expression "*(code *)PTR_EncodePixelGamma_003fa67c" (* "*") (cast_expression "(code *)PTR_EncodePixelGamma_003fa67c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_EncodePixelGamma_003fa67c"))) () ")")) (argument_list "(dVar15)" (( "(") (identifier "dVar15") () ")"))))) (; ";")) (expression_statement "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;" (assignment_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16" (pointer_expression "*(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4)" (* "*") (cast_expression "(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4)" (( "(") (binary_expression "iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4" (identifier "iVar4") (+ "+") (binary_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4" (pointer_expression "*(int *)(*(int *)(iVar8 + 0x2d0) + 0x20)" (* "*") (cast_expression "(int *)(*(int *)(iVar8 + 0x2d0) + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar8 + 0x2d0) + 0x20)" (( "(") (binary_expression "*(int *)(iVar8 + 0x2d0) + 0x20" (pointer_expression "*(int *)(iVar8 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar8 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x2d0)" (( "(") (binary_expression "iVar8 + 0x2d0" (identifier "iVar8") (+ "+") (number_literal "0x2d0")) () ")")))) (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar16" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar16"))) (; ";")) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;" (assignment_expression "iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4" (identifier "iVar4") (= "=") (binary_expression "iVar4 + *(int *)(iVar8 + 0x2c0) * 4" (identifier "iVar4") (+ "+") (binary_expression "*(int *)(iVar8 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar8 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar8 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x2c0)" (( "(") (binary_expression "iVar8 + 0x2c0" (identifier "iVar8") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);" (assignment_expression "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3)" (parenthesized_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)" (( "(") (pointer_expression "*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510" (* "*") (cast_expression "(code *)PTR_SyncCacheViewAuthenticPixels_003fa510" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SyncCacheViewAuthenticPixels_003fa510"))) () ")")) (argument_list "(iVar2,iVar3)" (( "(") (identifier "iVar2") (, ",") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            param_1[4] = 0;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            param_1[4] = 0;\n          }" ({ "{") (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 != iVar9)" (( "(") (binary_expression "iVar21 != iVar9" (identifier "iVar21") (!= "!=") (identifier "iVar9")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (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: (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: (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)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (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 (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (binary_expression left: (parenthesized_expression (identifier)) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (call_expression function: (identifier) arguments: (argument_list (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (call_expression function: (identifier) arguments: (argument_list (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (call_expression function: (identifier) arguments: (argument_list (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_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: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (identifier) right: (number_literal)))))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (subscript_expression argument: (identifier) index: (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)))))) (return_statement))))

void MASKED(int *param_1)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  double dVar12;
  double dVar13;
  float fVar14;
  double dVar15;
  double dVar16;
  ulonglong uVar17;
  double dVar18;
  double dVar19;
  double dVar20;
  int iVar21;
  
  iVar8 = *param_1;
  iVar9 = *(int *)(iVar8 + 0x1c);
  iVar2 = (*(code *)PTR_omp_get_num_threads_003fa924)();
  iVar3 = (*(code *)PTR_omp_get_thread_num_003fa520)();
  puVar1 = PTR_LAB_003f98e0;
  if (iVar2 == 0) {
    trap(7);
  }
  iVar21 = iVar9 / iVar2;
  iVar9 = iVar9 % iVar2;
  if (iVar3 < iVar9) {
    iVar21 = iVar21 + 1;
    iVar9 = 0;
  }
  iVar9 = iVar21 * iVar3 + iVar9;
  iVar21 = iVar21 + iVar9;
  if (iVar9 < iVar21) {
    iVar11 = param_1[3];
    iVar2 = param_1[2];
    iVar3 = param_1[1];
    uVar17 = (ulonglong)*(uint *)(PTR_LAB_003f98e0 + 0x4aa8);
    dVar12 = *(double *)(PTR_LAB_003f98e0 + 0x43d0);
    dVar19 = *(double *)(PTR_LAB_003f98e0 + 0x43e0);
    do {
      if (param_1[4] != 0) {
        iVar4 = (*(code *)PTR_GetCacheViewAuthenticPixels_003fa664)
                          (iVar2,0,iVar9,*(undefined4 *)(iVar8 + 0x18),1,iVar3);
        if (iVar4 == 0) {
          param_1[4] = 0;
        }
        else {
          iVar10 = *(int *)(iVar8 + 0x18);
          if (iVar10 != 0) {
            dVar20 = *(double *)(puVar1 + 0x43d0);
            dVar18 = *(double *)(puVar1 + 0x43e0);
            do {
              iVar5 = *(int *)(iVar8 + 0x2d0);
              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 8) * 4);
              if (fVar14 < (float)uVar17) {
                if (NAN(fVar14)) {
                  iVar6 = 0;
                }
                else if (0.0 < fVar14) {
                  dVar16 = (double)fVar14 + dVar12;
                  if (dVar16 < dVar19) {
                    iVar6 = (int)dVar16;
                  }
                  else {
                    iVar6 = (int)(dVar16 - dVar19);
                  }
                }
                else {
                  iVar6 = 0;
                }
              }
              else {
                iVar6 = 0xffff;
              }
              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x14) * 4);
              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {
                if (NAN(fVar14)) {
                  iVar7 = 0;
                }
                else if (0.0 < fVar14) {
                  dVar16 = (double)fVar14 + dVar20;
                  if (dVar16 < dVar18) {
                    iVar7 = (int)dVar16;
                  }
                  else {
                    iVar7 = (int)(dVar16 - dVar18);
                  }
                }
                else {
                  iVar7 = 0;
                }
              }
              else {
                iVar7 = 0xffff;
              }
              fVar14 = *(float *)(iVar4 + *(int *)(iVar5 + 0x20) * 4);
              dVar16 = (double)*(float *)(iVar11 + iVar7 * 4);
              if (fVar14 < *(float *)(puVar1 + 0x4aa8)) {
                if (NAN(fVar14)) {
                  iVar5 = 0;
                }
                else if (0.0 < fVar14) {
                  dVar13 = (double)fVar14 + dVar12;
                  if (dVar13 < *(double *)(puVar1 + 0x43e0)) {
                    iVar5 = (int)dVar13;
                  }
                  else {
                    iVar5 = (int)(dVar13 - *(double *)(puVar1 + 0x43e0));
                  }
                }
                else {
                  iVar5 = 0;
                }
              }
              else {
                iVar5 = 0xffff;
              }
              dVar15 = (double)*(float *)(iVar11 + iVar5 * 4);
              dVar13 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)
                                         ((double)*(float *)(iVar11 + iVar6 * 4));
              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 8) * 4) = (float)dVar13;
              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar16);
              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x14) * 4) = (float)dVar16;
              dVar16 = (double)(*(code *)PTR_EncodePixelGamma_003fa67c)(dVar15);
              *(float *)(iVar4 + *(int *)(*(int *)(iVar8 + 0x2d0) + 0x20) * 4) = (float)dVar16;
              iVar10 = iVar10 + -1;
              iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;
            } while (iVar10 != 0);
          }
          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,iVar3);
          if (iVar4 == 0) {
            param_1[4] = 0;
          }
        }
      }
      iVar9 = iVar9 + 1;
    } while (iVar21 != iVar9);
  }
  return;
}

