
/* DWARF original prototype: void MatrixToImage._omp_fn.0(anon_struct_32_7_d55ab48b * param_0) */

void __thiscall MatrixToImage__omp_fn_0(void *this)

{
  int iVar1;
  int iVar2;
  float *pfVar3;
  int iVar4;
  double *pdVar5;
  int *piVar6;
  int *piVar7;
  double *pdVar8;
  int *piVar9;
  double *pdVar10;
  double *pdVar11;
  double *pdVar12;
  undefined *puVar13;
  int iVar14;
  int iVar15;
  undefined4 uVar16;
  undefined *puVar17;
  undefined4 uVar18;
  double dVar19;
  int iVar20;
  int iStackY_74;
  double local_40;
  int local_34;
  
  local_34 = *(int *)PTR___stack_chk_guard_003fa248;
  iVar15 = *(int *)((int)this + 0x18);
  iVar14 = *(int *)(iVar15 + 0x1c);
  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();
  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();
  if (iVar1 == 0) {
    trap(7);
  }
  iVar20 = iVar14 / iVar1;
  iVar14 = iVar14 % iVar1;
  if (iVar2 < iVar14) {
    iVar20 = iVar20 + 1;
    iVar14 = 0;
  }
  iVar1 = iVar20 * iVar2 + iVar14;
  iVar20 = iVar20 + iVar1;
  if (iVar1 < iVar20) {
                    /* WARNING: Load size is inaccurate */
    dVar19 = *this;
    iVar2 = *(int *)((int)this + 0x10);
    uVar18 = *(undefined4 *)((int)this + 0xc);
    uVar16 = *(undefined4 *)((int)this + 8);
    do {
      if (*(int *)((int)this + 0x1c) != 0) {
        iVar14 = iVar2;
        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)
                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18);
        if (pfVar3 == (float *)0x0) {
          *(undefined4 *)((int)this + 0x1c) = 0;
        }
        else {
          iVar14 = 0;
          if (0 < *(int *)(iVar15 + 0x18)) {
            do {
              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);
              if (iVar4 != 0) {
                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;
                *pfVar3 = (float)local_40;
                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);
              }
              iVar14 = iVar14 + 1;
            } while (iVar14 < *(int *)(iVar15 + 0x18));
          }
          iVar14 = iVar2;
          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);
          if (iVar4 == 0) {
            *(undefined4 *)((int)this + 0x1c) = 0;
          }
        }
      }
      iVar1 = iVar1 + 1;
    } while (iVar20 != iVar1);
  }
  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {
    puVar13 = PTR___stack_chk_fail_003fa07c;
    (*(code *)PTR___stack_chk_fail_003fa07c)();
    puVar17 = puVar13 + 0x2db5bc;
    if (iVar14 == 0) {
      (**(code **)(puVar13 + 0x2d432c))
                (*(int *)(puVar13 + 0x2d35f4) + 0x394,*(int *)(puVar13 + 0x2d35f4) + 0x300,0x2f1,
                 *(int *)(puVar13 + 0x2d35f4) + 0x3f0);
    }
    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {
      return;
    }
    pdVar12 = (double *)(*(int *)(puVar13 + 0x2d35f4) + 0x3f0);
    pdVar10 = (double *)&DAT_000002f2;
    piVar9 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x300);
    piVar7 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x354);
    (**(code **)(puVar13 + 0x2d432c))();
    if (0 < (int)puVar17) {
      puVar13 = (undefined *)0x0;
      pdVar11 = pdVar10;
      do {
        piVar6 = piVar7;
        pdVar8 = pdVar10;
        do {
          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);
          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;
          piVar6 = piVar6 + 1;
          pdVar8 = pdVar8 + 1;
        } while (piVar6 != piVar7 + (int)puVar17);
        if (0 < iStackY_74) {
          piVar6 = piVar9;
          pdVar8 = pdVar12;
          do {
            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);
            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;
            piVar6 = piVar6 + 1;
            pdVar8 = pdVar8 + 1;
          } while (piVar6 != piVar9 + iStackY_74);
        }
        puVar13 = puVar13 + 1;
        pdVar11 = pdVar11 + 1;
      } while (puVar13 != puVar17);
    }
    return;
  }
  return;
}



double * FUN_001260e0(double *param_1)

{
  int iVar1;
  int iVar2;
  float *pfVar3;
  int iVar4;
  double *pdVar5;
  int *piVar6;
  int *piVar7;
  double *pdVar8;
  int *piVar9;
  double *pdVar10;
  double *pdVar11;
  double *pdVar12;
  double *pdVar13;
  int iVar14;
  int iVar15;
  undefined4 uVar16;
  undefined *puVar17;
  double *pdVar18;
  undefined4 uVar19;
  double dVar20;
  int iVar21;
  int iStackY_74;
  double local_40;
  double *local_34;
  
  local_34 = *(double **)PTR___stack_chk_guard_003fa248;
  iVar15 = *(int *)(param_1 + 3);
  iVar14 = *(int *)(iVar15 + 0x1c);
  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();
  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();
  if (iVar1 == 0) {
    trap(7);
  }
  iVar21 = iVar14 / iVar1;
  iVar14 = iVar14 % iVar1;
  if (iVar2 < iVar14) {
    iVar21 = iVar21 + 1;
    iVar14 = 0;
  }
  iVar1 = iVar21 * iVar2 + iVar14;
  iVar21 = iVar21 + iVar1;
  if (iVar1 < iVar21) {
    dVar20 = *param_1;
    iVar2 = *(int *)(param_1 + 2);
    uVar19 = *(undefined4 *)((int)param_1 + 0xc);
    uVar16 = *(undefined4 *)(param_1 + 1);
    do {
      if (*(int *)((int)param_1 + 0x1c) != 0) {
        iVar14 = iVar2;
        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)
                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);
        if (pfVar3 == (float *)0x0) {
          *(undefined4 *)((int)param_1 + 0x1c) = 0;
        }
        else {
          iVar14 = 0;
          if (0 < *(int *)(iVar15 + 0x18)) {
            do {
              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);
              if (iVar4 != 0) {
                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;
                *pfVar3 = (float)local_40;
                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);
              }
              iVar14 = iVar14 + 1;
            } while (iVar14 < *(int *)(iVar15 + 0x18));
          }
          iVar14 = iVar2;
          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);
          if (iVar4 == 0) {
            *(undefined4 *)((int)param_1 + 0x1c) = 0;
          }
        }
      }
      iVar1 = iVar1 + 1;
    } while (iVar21 != iVar1);
  }
  if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {
    puVar17 = PTR___stack_chk_fail_003fa07c;
    (*(code *)PTR___stack_chk_fail_003fa07c)();
    pdVar18 = (double *)(puVar17 + 0x2db5bc);
    if (iVar14 == 0) {
      (**(code **)(puVar17 + 0x2d432c))
                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,
                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);
    }
    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {
      return *(double **)(iVar14 + 8);
    }
    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);
    pdVar10 = (double *)&DAT_000002f2;
    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);
    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);
    (**(code **)(puVar17 + 0x2d432c))();
    pdVar5 = pdVar18;
    if (0 < (int)pdVar18) {
      pdVar13 = (double *)0x0;
      pdVar11 = pdVar10;
      do {
        piVar6 = piVar7;
        pdVar8 = pdVar10;
        do {
          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);
          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;
          piVar6 = piVar6 + 1;
          pdVar8 = pdVar8 + 1;
        } while (piVar6 != piVar7 + (int)pdVar18);
        if (0 < iStackY_74) {
          piVar6 = piVar9;
          pdVar8 = pdVar12;
          do {
            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);
            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;
            piVar6 = piVar6 + 1;
            pdVar8 = pdVar8 + 1;
          } while (piVar6 != piVar9 + iStackY_74);
        }
        pdVar13 = (double *)((int)pdVar13 + 1);
        pdVar11 = pdVar11 + 1;
      } while (pdVar13 != pdVar18);
    }
    return pdVar5;
  }
  return *(double **)PTR___stack_chk_guard_003fa248;
}


lui gp,0x2e
addiu gp,gp,-0x4830
addu gp,gp,t9
addiu sp,sp,-0x68
sw ra,0x5c(sp)
sw s8,0x58(sp)
sw s7,0x54(sp)
sw s6,0x50(sp)
sw s5,0x4c(sp)
sw s4,0x48(sp)
sw s3,0x44(sp)
sw s2,0x40(sp)
sw s1,0x3c(sp)
sw s0,0x38(sp)
sdc1 f20,0x60(sp)
sw gp,0x18(sp)
or s4,a0,zero
lw v0,-0x7668(gp)
lw v0,0x0(v0)
sw v0,0x34(sp)
lw s3,0x18(a0)
lw s1,0x1c(s3)
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 s1,s0
mfhi s0
mflo s5
slt v1,v0,s0
bne v1,zero,0x00126298
_or a0,s0,zero
mul v1,s5,v0
addu s1,v1,a0
addu s5,s5,s1
slt v0,s1,s5
beq v0,zero,0x001262a4
_addiu s6,sp,0x28
ldc1 f20,0x0(s4)
lw v0,0x10(s4)
sw v0,0x24(sp)
lw s8,0xc(s4)
b 0x001261d8
_lw s7,0x8(s4)
or a1,s8,zero
lw a0,0x24(sp)
lw t9,-0x73a0(gp)
jalr t9
_nop
lw gp,0x18(sp)
bne v0,zero,0x001261cc
_nop
sw zero,0x1c(s4)
addiu s1,s1,0x1
beq s5,s1,0x001262a4
_nop
lw v0,0x1c(s4)
beq v0,zero,0x001261cc
_li v0,0x1
lw a3,0x18(s3)
sw s8,0x14(sp)
sw v0,0x10(sp)
or a2,s1,zero
or a1,zero,zero
lw a0,0x24(sp)
lw t9,-0x7c48(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x00126290
_or s2,v0,zero
lw v0,0x18(s3)
blez v0,0x001261a8
_or s0,zero,zero
b 0x00126240
_or a3,s6,zero
addiu s0,s0,0x1
lw v0,0x18(s3)
slt v0,s0,v0
beq v0,zero,0x001261ac
_or a1,s8,zero
or a3,s6,zero
or a2,s1,zero
or a1,s0,zero
or a0,s7,zero
lw t9,-0x762c(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x00126228
_ldc1 f2,0x28(sp)
lw v0,0x14(s4)
ldc1 f0,0x0(v0)
sub.D D f0,f2,f0
mul.D f0,f0,f20
sdc1 f0,0x28(sp)
cvt.s.D f0,f0
swc1 f0,0x0(s2)
lw v0,0x2c0(s3)
sll v0,v0,0x2
b 0x00126228
_addu s2,s2,v0
b 0x001261cc
_sw zero,0x1c(s4)
addiu s5,s5,0x1
b 0x00126178
_or a0,zero,zero
lw v1,0x34(sp)
lw v0,-0x7668(gp)
lw v0,0x0(v0)
bne v1,v0,0x001262e8
_lw ra,0x5c(sp)
lw s8,0x58(sp)
lw s7,0x54(sp)
lw s6,0x50(sp)
lw s5,0x4c(sp)
lw s4,0x48(sp)
lw s3,0x44(sp)
lw s2,0x40(sp)
lw s1,0x3c(sp)
lw s0,0x38(sp)
ldc1 f20,0x60(sp)
jr ra
_addiu sp,sp,0x68
lw t9,-0x7834(gp)
jalr t9
_nop
(translation_unit "double * FUN_001260e0(double *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  float *pfVar3;\n  int iVar4;\n  double *pdVar5;\n  int *piVar6;\n  int *piVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  double *pdVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  undefined *puVar17;\n  double *pdVar18;\n  undefined4 uVar19;\n  double dVar20;\n  int iVar21;\n  int iStackY_74;\n  double local_40;\n  double *local_34;\n  \n  local_34 = *(double **)PTR___stack_chk_guard_003fa248;\n  iVar15 = *(int *)(param_1 + 3);\n  iVar14 = *(int *)(iVar15 + 0x1c);\n  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  if (iVar1 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar14 / iVar1;\n  iVar14 = iVar14 % iVar1;\n  if (iVar2 < iVar14) {\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }\n  iVar1 = iVar21 * iVar2 + iVar14;\n  iVar21 = iVar21 + iVar1;\n  if (iVar1 < iVar21) {\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }\n  if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }\n  return *(double **)PTR___stack_chk_guard_003fa248;\n}\n\n" (function_definition "double * FUN_001260e0(double *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  float *pfVar3;\n  int iVar4;\n  double *pdVar5;\n  int *piVar6;\n  int *piVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  double *pdVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  undefined *puVar17;\n  double *pdVar18;\n  undefined4 uVar19;\n  double dVar20;\n  int iVar21;\n  int iStackY_74;\n  double local_40;\n  double *local_34;\n  \n  local_34 = *(double **)PTR___stack_chk_guard_003fa248;\n  iVar15 = *(int *)(param_1 + 3);\n  iVar14 = *(int *)(iVar15 + 0x1c);\n  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  if (iVar1 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar14 / iVar1;\n  iVar14 = iVar14 % iVar1;\n  if (iVar2 < iVar14) {\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }\n  iVar1 = iVar21 * iVar2 + iVar14;\n  iVar21 = iVar21 + iVar1;\n  if (iVar1 < iVar21) {\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }\n  if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }\n  return *(double **)PTR___stack_chk_guard_003fa248;\n}" primitive_type (pointer_declarator "* FUN_001260e0(double *param_1)" * (function_declarator "FUN_001260e0(double *param_1)" identifier (parameter_list "(double *param_1)" ( (parameter_declaration "double *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) )))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  float *pfVar3;\n  int iVar4;\n  double *pdVar5;\n  int *piVar6;\n  int *piVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  double *pdVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  undefined *puVar17;\n  double *pdVar18;\n  undefined4 uVar19;\n  double dVar20;\n  int iVar21;\n  int iStackY_74;\n  double local_40;\n  double *local_34;\n  \n  local_34 = *(double **)PTR___stack_chk_guard_003fa248;\n  iVar15 = *(int *)(param_1 + 3);\n  iVar14 = *(int *)(iVar15 + 0x1c);\n  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  if (iVar1 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar14 / iVar1;\n  iVar14 = iVar14 % iVar1;\n  if (iVar2 < iVar14) {\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }\n  iVar1 = iVar21 * iVar2 + iVar14;\n  iVar21 = iVar21 + iVar1;\n  if (iVar1 < iVar21) {\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }\n  if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }\n  return *(double **)PTR___stack_chk_guard_003fa248;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "float *pfVar3;" primitive_type (pointer_declarator "*pfVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "double *pdVar5;" primitive_type (pointer_declarator "*pdVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "double *pdVar8;" primitive_type (pointer_declarator "*pdVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "double *pdVar10;" primitive_type (pointer_declarator "*pdVar10" * identifier) ;) (declaration "double *pdVar11;" primitive_type (pointer_declarator "*pdVar11" * identifier) ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "double *pdVar13;" primitive_type (pointer_declarator "*pdVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "double *pdVar18;" primitive_type (pointer_declarator "*pdVar18" * identifier) ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "double dVar20;" primitive_type identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iStackY_74;" primitive_type identifier ;) (declaration "double local_40;" primitive_type identifier ;) (declaration "double *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (expression_statement "local_34 = *(double **)PTR___stack_chk_guard_003fa248;" (assignment_expression "local_34 = *(double **)PTR___stack_chk_guard_003fa248" identifier = (pointer_expression "*(double **)PTR___stack_chk_guard_003fa248" * (cast_expression "(double **)PTR___stack_chk_guard_003fa248" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar15 = *(int *)(param_1 + 3);" (assignment_expression "iVar15 = *(int *)(param_1 + 3)" identifier = (pointer_expression "*(int *)(param_1 + 3)" * (cast_expression "(int *)(param_1 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(iVar15 + 0x1c);" (assignment_expression "iVar14 = *(int *)(iVar15 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar15 + 0x1c)" * (cast_expression "(int *)(iVar15 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x1c)" ( (binary_expression "iVar15 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();" (assignment_expression "iVar1 = (*(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 "iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();" (assignment_expression "iVar2 = (*(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 "()" ( )))) ;) (if_statement "if (iVar1 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 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 = iVar14 / iVar1;" (assignment_expression "iVar21 = iVar14 / iVar1" identifier = (binary_expression "iVar14 / iVar1" identifier / identifier)) ;) (expression_statement "iVar14 = iVar14 % iVar1;" (assignment_expression "iVar14 = iVar14 % iVar1" identifier = (binary_expression "iVar14 % iVar1" identifier % identifier)) ;) (if_statement "if (iVar2 < iVar14) {\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }" if (parenthesized_expression "(iVar2 < iVar14)" ( (binary_expression "iVar2 < iVar14" identifier < identifier) )) (compound_statement "{\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }" { (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) })) (expression_statement "iVar1 = iVar21 * iVar2 + iVar14;" (assignment_expression "iVar1 = iVar21 * iVar2 + iVar14" identifier = (binary_expression "iVar21 * iVar2 + iVar14" (binary_expression "iVar21 * iVar2" identifier * identifier) + identifier)) ;) (expression_statement "iVar21 = iVar21 + iVar1;" (assignment_expression "iVar21 = iVar21 + iVar1" identifier = (binary_expression "iVar21 + iVar1" identifier + identifier)) ;) (if_statement "if (iVar1 < iVar21) {\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }" if (parenthesized_expression "(iVar1 < iVar21)" ( (binary_expression "iVar1 < iVar21" identifier < identifier) )) (compound_statement "{\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }" { (expression_statement "dVar20 = *param_1;" (assignment_expression "dVar20 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar2 = *(int *)(param_1 + 2);" (assignment_expression "iVar2 = *(int *)(param_1 + 2)" identifier = (pointer_expression "*(int *)(param_1 + 2)" * (cast_expression "(int *)(param_1 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = *(undefined4 *)((int)param_1 + 0xc);" (assignment_expression "uVar19 = *(undefined4 *)((int)param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)((int)param_1 + 0xc)" * (cast_expression "(undefined4 *)((int)param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xc)" ( (binary_expression "(int)param_1 + 0xc" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(param_1 + 1);" (assignment_expression "uVar16 = *(undefined4 *)(param_1 + 1)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 1)" * (cast_expression "(undefined4 *)(param_1 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) ))))) ;) (do_statement "do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);" do (compound_statement "{\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    }" { (if_statement "if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }" if (parenthesized_expression "(*(int *)((int)param_1 + 0x1c) != 0)" ( (binary_expression "*(int *)((int)param_1 + 0x1c) != 0" (pointer_expression "*(int *)((int)param_1 + 0x1c)" * (cast_expression "(int *)((int)param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1c)" ( (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }" { (expression_statement "iVar14 = iVar2;" (assignment_expression "iVar14 = iVar2" identifier = identifier) ;) (expression_statement "pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);" (assignment_expression "pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" identifier = (cast_expression "(float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" (parenthesized_expression "(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)" ( (pointer_expression "*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68" * (cast_expression "(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar15 + 0x18)" * (cast_expression "(undefined4 *)(iVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) )))) , number_literal , identifier ))))) ;) (if_statement "if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }" if (parenthesized_expression "(pfVar3 == (float *)0x0)" ( (binary_expression "pfVar3 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }" { (expression_statement "*(undefined4 *)((int)param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + 0x1c)" * (cast_expression "(undefined4 *)((int)param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1c)" ( (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }" else (compound_statement "{\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (if_statement "if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }" if (parenthesized_expression "(0 < *(int *)(iVar15 + 0x18))" ( (binary_expression "0 < *(int *)(iVar15 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar15 + 0x18)" * (cast_expression "(int *)(iVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }" { (do_statement "do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));" do (compound_statement "{\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            }" { (expression_statement "iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);" (assignment_expression "iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40)" identifier = (call_expression "(*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40)" (parenthesized_expression "(*(code *)PTR_GetMatrixElement_003fa284)" ( (pointer_expression "*(code *)PTR_GetMatrixElement_003fa284" * (cast_expression "(code *)PTR_GetMatrixElement_003fa284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar16,iVar14,iVar1,&local_40)" ( identifier , identifier , identifier , (pointer_expression "&local_40" & identifier) )))) ;) (if_statement "if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }" { (expression_statement "local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;" (assignment_expression "local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20" identifier = (binary_expression "(local_40 - **(double **)((int)param_1 + 0x14)) * dVar20" (parenthesized_expression "(local_40 - **(double **)((int)param_1 + 0x14))" ( (binary_expression "local_40 - **(double **)((int)param_1 + 0x14)" identifier - (pointer_expression "**(double **)((int)param_1 + 0x14)" * (pointer_expression "*(double **)((int)param_1 + 0x14)" * (cast_expression "(double **)((int)param_1 + 0x14)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_1 + 0x14)" ( (binary_expression "(int)param_1 + 0x14" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) )) * identifier)) ;) (expression_statement "*pfVar3 = (float)local_40;" (assignment_expression "*pfVar3 = (float)local_40" (pointer_expression "*pfVar3" * identifier) = (cast_expression "(float)local_40" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);" (assignment_expression "pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0)" identifier = (binary_expression "pfVar3 + *(int *)(iVar15 + 0x2c0)" identifier + (pointer_expression "*(int *)(iVar15 + 0x2c0)" * (cast_expression "(int *)(iVar15 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2c0)" ( (binary_expression "iVar15 + 0x2c0" identifier + number_literal) )))))) ;) })) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar14 < *(int *)(iVar15 + 0x18))" ( (binary_expression "iVar14 < *(int *)(iVar15 + 0x18)" identifier < (pointer_expression "*(int *)(iVar15 + 0x18)" * (cast_expression "(int *)(iVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) )) ;) })) (expression_statement "iVar14 = iVar2;" (assignment_expression "iVar14 = iVar2" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);" (assignment_expression "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19)" identifier = (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19)" (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,uVar19)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }" { (expression_statement "*(undefined4 *)((int)param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + 0x1c)" * (cast_expression "(undefined4 *)((int)param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1c)" ( (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) }))) })) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 != iVar1)" ( (binary_expression "iVar21 != iVar1" identifier != identifier) )) ;) })) (if_statement "if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }" if (parenthesized_expression "(local_34 != *(double **)PTR___stack_chk_guard_003fa248)" ( (binary_expression "local_34 != *(double **)PTR___stack_chk_guard_003fa248" identifier != (pointer_expression "*(double **)PTR___stack_chk_guard_003fa248" * (cast_expression "(double **)PTR___stack_chk_guard_003fa248" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }" { (expression_statement "puVar17 = PTR___stack_chk_fail_003fa07c;" (assignment_expression "puVar17 = PTR___stack_chk_fail_003fa07c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003fa07c)();" (call_expression "(*(code *)PTR___stack_chk_fail_003fa07c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003fa07c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003fa07c" * (cast_expression "(code *)PTR___stack_chk_fail_003fa07c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pdVar18 = (double *)(puVar17 + 0x2db5bc);" (assignment_expression "pdVar18 = (double *)(puVar17 + 0x2db5bc)" identifier = (cast_expression "(double *)(puVar17 + 0x2db5bc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2db5bc)" ( (binary_expression "puVar17 + 0x2db5bc" identifier + number_literal) )))) ;) (if_statement "if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }" { (expression_statement "(**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);" (call_expression "(**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0)" (parenthesized_expression "(**(code **)(puVar17 + 0x2d432c))" ( (pointer_expression "**(code **)(puVar17 + 0x2d432c)" * (pointer_expression "*(code **)(puVar17 + 0x2d432c)" * (cast_expression "(code **)(puVar17 + 0x2d432c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x2d432c)" ( (binary_expression "puVar17 + 0x2d432c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0)" ( (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x394" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x300" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x3f0" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }" else (if_statement "if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }" if (parenthesized_expression "(*(int *)(iVar14 + 0x102c) == -0x54535255)" ( (binary_expression "*(int *)(iVar14 + 0x102c) == -0x54535255" (pointer_expression "*(int *)(iVar14 + 0x102c)" * (cast_expression "(int *)(iVar14 + 0x102c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x102c)" ( (binary_expression "iVar14 + 0x102c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      return *(double **)(iVar14 + 8);\n    }" { (return_statement "return *(double **)(iVar14 + 8);" return (pointer_expression "*(double **)(iVar14 + 8)" * (cast_expression "(double **)(iVar14 + 8)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 8)" ( (binary_expression "iVar14 + 8" identifier + number_literal) )))) ;) })))) (expression_statement "pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);" (assignment_expression "pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0)" identifier = (cast_expression "(double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x2d35f4) + 0x3f0)" ( (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x3f0" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pdVar10 = (double *)&DAT_000002f2;" (assignment_expression "pdVar10 = (double *)&DAT_000002f2" identifier = (cast_expression "(double *)&DAT_000002f2" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000002f2" & identifier))) ;) (expression_statement "piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);" (assignment_expression "piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300)" identifier = (cast_expression "(int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x2d35f4) + 0x300)" ( (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x300" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);" (assignment_expression "piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354)" identifier = (cast_expression "(int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x2d35f4) + 0x354)" ( (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x354" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar17 + 0x2d432c))();" (call_expression "(**(code **)(puVar17 + 0x2d432c))()" (parenthesized_expression "(**(code **)(puVar17 + 0x2d432c))" ( (pointer_expression "**(code **)(puVar17 + 0x2d432c)" * (pointer_expression "*(code **)(puVar17 + 0x2d432c)" * (cast_expression "(code **)(puVar17 + 0x2d432c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x2d432c)" ( (binary_expression "puVar17 + 0x2d432c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pdVar5 = pdVar18;" (assignment_expression "pdVar5 = pdVar18" identifier = identifier) ;) (if_statement "if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }" if (parenthesized_expression "(0 < (int)pdVar18)" ( (binary_expression "0 < (int)pdVar18" number_literal < (cast_expression "(int)pdVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }" { (expression_statement "pdVar13 = (double *)0x0;" (assignment_expression "pdVar13 = (double *)0x0" identifier = (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar11 = pdVar10;" (assignment_expression "pdVar11 = pdVar10" identifier = identifier) ;) (do_statement "do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);" do (compound_statement "{\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      }" { (expression_statement "piVar6 = piVar7;" (assignment_expression "piVar6 = piVar7" identifier = identifier) ;) (expression_statement "pdVar8 = pdVar10;" (assignment_expression "pdVar8 = pdVar10" identifier = identifier) ;) (do_statement "do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);" do (compound_statement "{\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        }" { (expression_statement "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);" (assignment_expression "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8)" identifier = (cast_expression "(double *)(*piVar6 + (int)pdVar13 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + (int)pdVar13 * 8)" ( (binary_expression "*piVar6 + (int)pdVar13 * 8" (pointer_expression "*piVar6" * identifier) + (binary_expression "(int)pdVar13 * 8" (cast_expression "(int)pdVar13" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;" (assignment_expression "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5" (pointer_expression "*pdVar5" * identifier) = (binary_expression "*pdVar8 * *pdVar11 + *pdVar5" (binary_expression "*pdVar8 * *pdVar11" (pointer_expression "*pdVar8" * identifier) * (pointer_expression "*pdVar11" * identifier)) + (pointer_expression "*pdVar5" * identifier))) ;) (expression_statement "piVar6 = piVar6 + 1;" (assignment_expression "piVar6 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (expression_statement "pdVar8 = pdVar8 + 1;" (assignment_expression "pdVar8 = pdVar8 + 1" identifier = (binary_expression "pdVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 != piVar7 + (int)pdVar18)" ( (binary_expression "piVar6 != piVar7 + (int)pdVar18" identifier != (binary_expression "piVar7 + (int)pdVar18" identifier + (cast_expression "(int)pdVar18" ( (type_descriptor "int" primitive_type) ) identifier))) )) ;) (if_statement "if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }" if (parenthesized_expression "(0 < iStackY_74)" ( (binary_expression "0 < iStackY_74" number_literal < identifier) )) (compound_statement "{\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }" { (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" identifier = identifier) ;) (expression_statement "pdVar8 = pdVar12;" (assignment_expression "pdVar8 = pdVar12" identifier = identifier) ;) (do_statement "do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);" do (compound_statement "{\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          }" { (expression_statement "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);" (assignment_expression "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8)" identifier = (cast_expression "(double *)(*piVar6 + (int)pdVar13 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + (int)pdVar13 * 8)" ( (binary_expression "*piVar6 + (int)pdVar13 * 8" (pointer_expression "*piVar6" * identifier) + (binary_expression "(int)pdVar13 * 8" (cast_expression "(int)pdVar13" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;" (assignment_expression "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5" (pointer_expression "*pdVar5" * identifier) = (binary_expression "*pdVar8 * *pdVar11 + *pdVar5" (binary_expression "*pdVar8 * *pdVar11" (pointer_expression "*pdVar8" * identifier) * (pointer_expression "*pdVar11" * identifier)) + (pointer_expression "*pdVar5" * identifier))) ;) (expression_statement "piVar6 = piVar6 + 1;" (assignment_expression "piVar6 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (expression_statement "pdVar8 = pdVar8 + 1;" (assignment_expression "pdVar8 = pdVar8 + 1" identifier = (binary_expression "pdVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 != piVar9 + iStackY_74)" ( (binary_expression "piVar6 != piVar9 + iStackY_74" identifier != (binary_expression "piVar9 + iStackY_74" identifier + identifier)) )) ;) })) (expression_statement "pdVar13 = (double *)((int)pdVar13 + 1);" (assignment_expression "pdVar13 = (double *)((int)pdVar13 + 1)" identifier = (cast_expression "(double *)((int)pdVar13 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar13 + 1)" ( (binary_expression "(int)pdVar13 + 1" (cast_expression "(int)pdVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pdVar11 = pdVar11 + 1;" (assignment_expression "pdVar11 = pdVar11 + 1" identifier = (binary_expression "pdVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pdVar13 != pdVar18)" ( (binary_expression "pdVar13 != pdVar18" identifier != identifier) )) ;) })) (return_statement "return pdVar5;" return identifier ;) })) (return_statement "return *(double **)PTR___stack_chk_guard_003fa248;" return (pointer_expression "*(double **)PTR___stack_chk_guard_003fa248" * (cast_expression "(double **)PTR___stack_chk_guard_003fa248" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })))
(translation_unit "/* DWARF original prototype: void MatrixToImage._omp_fn.0(anon_struct_32_7_d55ab48b * param_0) */\n\nvoid __thiscall MatrixToImage__omp_fn_0(void *this)\n\n{\n  int iVar1;\n  int iVar2;\n  float *pfVar3;\n  int iVar4;\n  double *pdVar5;\n  int *piVar6;\n  int *piVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  undefined *puVar17;\n  undefined4 uVar18;\n  double dVar19;\n  int iVar20;\n  int iStackY_74;\n  double local_40;\n  int local_34;\n  \n  local_34 = *(int *)PTR___stack_chk_guard_003fa248;\n  iVar15 = *(int *)((int)this + 0x18);\n  iVar14 = *(int *)(iVar15 + 0x1c);\n  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  if (iVar1 == 0) {\n    trap(7);\n  }\n  iVar20 = iVar14 / iVar1;\n  iVar14 = iVar14 % iVar1;\n  if (iVar2 < iVar14) {\n    iVar20 = iVar20 + 1;\n    iVar14 = 0;\n  }\n  iVar1 = iVar20 * iVar2 + iVar14;\n  iVar20 = iVar20 + iVar1;\n  if (iVar1 < iVar20) {\n                    /* WARNING: Load size is inaccurate */\n    dVar19 = *this;\n    iVar2 = *(int *)((int)this + 0x10);\n    uVar18 = *(undefined4 *)((int)this + 0xc);\n    uVar16 = *(undefined4 *)((int)this + 8);\n    do {\n      if (*(int *)((int)this + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar20 != iVar1);\n  }\n  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar13 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    puVar17 = puVar13 + 0x2db5bc;\n    if (iVar14 == 0) {\n      (**(code **)(puVar13 + 0x2d432c))\n                (*(int *)(puVar13 + 0x2d35f4) + 0x394,*(int *)(puVar13 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return;\n    }\n    pdVar12 = (double *)(*(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar13 + 0x2d432c))();\n    if (0 < (int)puVar17) {\n      puVar13 = (undefined *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)puVar17);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        puVar13 = puVar13 + 1;\n        pdVar11 = pdVar11 + 1;\n      } while (puVar13 != puVar17);\n    }\n    return;\n  }\n  return;\n}\n\n" comment (function_definition "void __thiscall MatrixToImage__omp_fn_0(void *this)\n\n{\n  int iVar1;\n  int iVar2;\n  float *pfVar3;\n  int iVar4;\n  double *pdVar5;\n  int *piVar6;\n  int *piVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  undefined *puVar17;\n  undefined4 uVar18;\n  double dVar19;\n  int iVar20;\n  int iStackY_74;\n  double local_40;\n  int local_34;\n  \n  local_34 = *(int *)PTR___stack_chk_guard_003fa248;\n  iVar15 = *(int *)((int)this + 0x18);\n  iVar14 = *(int *)(iVar15 + 0x1c);\n  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  if (iVar1 == 0) {\n    trap(7);\n  }\n  iVar20 = iVar14 / iVar1;\n  iVar14 = iVar14 % iVar1;\n  if (iVar2 < iVar14) {\n    iVar20 = iVar20 + 1;\n    iVar14 = 0;\n  }\n  iVar1 = iVar20 * iVar2 + iVar14;\n  iVar20 = iVar20 + iVar1;\n  if (iVar1 < iVar20) {\n                    /* WARNING: Load size is inaccurate */\n    dVar19 = *this;\n    iVar2 = *(int *)((int)this + 0x10);\n    uVar18 = *(undefined4 *)((int)this + 0xc);\n    uVar16 = *(undefined4 *)((int)this + 8);\n    do {\n      if (*(int *)((int)this + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar20 != iVar1);\n  }\n  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar13 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    puVar17 = puVar13 + 0x2db5bc;\n    if (iVar14 == 0) {\n      (**(code **)(puVar13 + 0x2d432c))\n                (*(int *)(puVar13 + 0x2d35f4) + 0x394,*(int *)(puVar13 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return;\n    }\n    pdVar12 = (double *)(*(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar13 + 0x2d432c))();\n    if (0 < (int)puVar17) {\n      puVar13 = (undefined *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)puVar17);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        puVar13 = puVar13 + 1;\n        pdVar11 = pdVar11 + 1;\n      } while (puVar13 != puVar17);\n    }\n    return;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (function_declarator "MatrixToImage__omp_fn_0(void *this)" identifier (parameter_list "(void *this)" ( (parameter_declaration "void *this" primitive_type (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  float *pfVar3;\n  int iVar4;\n  double *pdVar5;\n  int *piVar6;\n  int *piVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  undefined *puVar17;\n  undefined4 uVar18;\n  double dVar19;\n  int iVar20;\n  int iStackY_74;\n  double local_40;\n  int local_34;\n  \n  local_34 = *(int *)PTR___stack_chk_guard_003fa248;\n  iVar15 = *(int *)((int)this + 0x18);\n  iVar14 = *(int *)(iVar15 + 0x1c);\n  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  if (iVar1 == 0) {\n    trap(7);\n  }\n  iVar20 = iVar14 / iVar1;\n  iVar14 = iVar14 % iVar1;\n  if (iVar2 < iVar14) {\n    iVar20 = iVar20 + 1;\n    iVar14 = 0;\n  }\n  iVar1 = iVar20 * iVar2 + iVar14;\n  iVar20 = iVar20 + iVar1;\n  if (iVar1 < iVar20) {\n                    /* WARNING: Load size is inaccurate */\n    dVar19 = *this;\n    iVar2 = *(int *)((int)this + 0x10);\n    uVar18 = *(undefined4 *)((int)this + 0xc);\n    uVar16 = *(undefined4 *)((int)this + 8);\n    do {\n      if (*(int *)((int)this + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar20 != iVar1);\n  }\n  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar13 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    puVar17 = puVar13 + 0x2db5bc;\n    if (iVar14 == 0) {\n      (**(code **)(puVar13 + 0x2d432c))\n                (*(int *)(puVar13 + 0x2d35f4) + 0x394,*(int *)(puVar13 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return;\n    }\n    pdVar12 = (double *)(*(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar13 + 0x2d432c))();\n    if (0 < (int)puVar17) {\n      puVar13 = (undefined *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)puVar17);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        puVar13 = puVar13 + 1;\n        pdVar11 = pdVar11 + 1;\n      } while (puVar13 != puVar17);\n    }\n    return;\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "float *pfVar3;" primitive_type (pointer_declarator "*pfVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "double *pdVar5;" primitive_type (pointer_declarator "*pdVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "double *pdVar8;" primitive_type (pointer_declarator "*pdVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "double *pdVar10;" primitive_type (pointer_declarator "*pdVar10" * identifier) ;) (declaration "double *pdVar11;" primitive_type (pointer_declarator "*pdVar11" * identifier) ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int iStackY_74;" primitive_type identifier ;) (declaration "double local_40;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (expression_statement "local_34 = *(int *)PTR___stack_chk_guard_003fa248;" (assignment_expression "local_34 = *(int *)PTR___stack_chk_guard_003fa248" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003fa248" * (cast_expression "(int *)PTR___stack_chk_guard_003fa248" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = *(int *)((int)this + 0x18);" (assignment_expression "iVar15 = *(int *)((int)this + 0x18)" identifier = (pointer_expression "*(int *)((int)this + 0x18)" * (cast_expression "(int *)((int)this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x18)" ( (binary_expression "(int)this + 0x18" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(iVar15 + 0x1c);" (assignment_expression "iVar14 = *(int *)(iVar15 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar15 + 0x1c)" * (cast_expression "(int *)(iVar15 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x1c)" ( (binary_expression "iVar15 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();" (assignment_expression "iVar1 = (*(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 "iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();" (assignment_expression "iVar2 = (*(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 "()" ( )))) ;) (if_statement "if (iVar1 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 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 "iVar20 = iVar14 / iVar1;" (assignment_expression "iVar20 = iVar14 / iVar1" identifier = (binary_expression "iVar14 / iVar1" identifier / identifier)) ;) (expression_statement "iVar14 = iVar14 % iVar1;" (assignment_expression "iVar14 = iVar14 % iVar1" identifier = (binary_expression "iVar14 % iVar1" identifier % identifier)) ;) (if_statement "if (iVar2 < iVar14) {\n    iVar20 = iVar20 + 1;\n    iVar14 = 0;\n  }" if (parenthesized_expression "(iVar2 < iVar14)" ( (binary_expression "iVar2 < iVar14" identifier < identifier) )) (compound_statement "{\n    iVar20 = iVar20 + 1;\n    iVar14 = 0;\n  }" { (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) })) (expression_statement "iVar1 = iVar20 * iVar2 + iVar14;" (assignment_expression "iVar1 = iVar20 * iVar2 + iVar14" identifier = (binary_expression "iVar20 * iVar2 + iVar14" (binary_expression "iVar20 * iVar2" identifier * identifier) + identifier)) ;) (expression_statement "iVar20 = iVar20 + iVar1;" (assignment_expression "iVar20 = iVar20 + iVar1" identifier = (binary_expression "iVar20 + iVar1" identifier + identifier)) ;) (if_statement "if (iVar1 < iVar20) {\n                    /* WARNING: Load size is inaccurate */\n    dVar19 = *this;\n    iVar2 = *(int *)((int)this + 0x10);\n    uVar18 = *(undefined4 *)((int)this + 0xc);\n    uVar16 = *(undefined4 *)((int)this + 8);\n    do {\n      if (*(int *)((int)this + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar20 != iVar1);\n  }" if (parenthesized_expression "(iVar1 < iVar20)" ( (binary_expression "iVar1 < iVar20" identifier < identifier) )) (compound_statement "{\n                    /* WARNING: Load size is inaccurate */\n    dVar19 = *this;\n    iVar2 = *(int *)((int)this + 0x10);\n    uVar18 = *(undefined4 *)((int)this + 0xc);\n    uVar16 = *(undefined4 *)((int)this + 8);\n    do {\n      if (*(int *)((int)this + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar20 != iVar1);\n  }" { comment (expression_statement "dVar19 = *this;" (assignment_expression "dVar19 = *this" identifier = (pointer_expression "*this" * identifier)) ;) (expression_statement "iVar2 = *(int *)((int)this + 0x10);" (assignment_expression "iVar2 = *(int *)((int)this + 0x10)" identifier = (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) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)this + 0xc);" (assignment_expression "uVar18 = *(undefined4 *)((int)this + 0xc)" identifier = (pointer_expression "*(undefined4 *)((int)this + 0xc)" * (cast_expression "(undefined4 *)((int)this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (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 "uVar16 = *(undefined4 *)((int)this + 8);" (assignment_expression "uVar16 = *(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) ))))) ;) (do_statement "do {\n      if (*(int *)((int)this + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar20 != iVar1);" do (compound_statement "{\n      if (*(int *)((int)this + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    }" { (if_statement "if (*(int *)((int)this + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }\n      }" if (parenthesized_expression "(*(int *)((int)this + 0x1c) != 0)" ( (binary_expression "*(int *)((int)this + 0x1c) != 0" (pointer_expression "*(int *)((int)this + 0x1c)" * (cast_expression "(int *)((int)this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x1c)" ( (binary_expression "(int)this + 0x1c" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }\n      }" { (expression_statement "iVar14 = iVar2;" (assignment_expression "iVar14 = iVar2" identifier = identifier) ;) (expression_statement "pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18);" (assignment_expression "pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18)" identifier = (cast_expression "(float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18)" (parenthesized_expression "(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)" ( (pointer_expression "*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68" * (cast_expression "(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar18)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar15 + 0x18)" * (cast_expression "(undefined4 *)(iVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) )))) , number_literal , identifier ))))) ;) (if_statement "if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }" if (parenthesized_expression "(pfVar3 == (float *)0x0)" ( (binary_expression "pfVar3 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }" { (expression_statement "*(undefined4 *)((int)this + 0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)this + 0x1c) = 0" (pointer_expression "*(undefined4 *)((int)this + 0x1c)" * (cast_expression "(undefined4 *)((int)this + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x1c)" ( (binary_expression "(int)this + 0x1c" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }" else (compound_statement "{\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n        }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (if_statement "if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }" if (parenthesized_expression "(0 < *(int *)(iVar15 + 0x18))" ( (binary_expression "0 < *(int *)(iVar15 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar15 + 0x18)" * (cast_expression "(int *)(iVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }" { (do_statement "do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));" do (compound_statement "{\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            }" { (expression_statement "iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);" (assignment_expression "iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40)" identifier = (call_expression "(*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40)" (parenthesized_expression "(*(code *)PTR_GetMatrixElement_003fa284)" ( (pointer_expression "*(code *)PTR_GetMatrixElement_003fa284" * (cast_expression "(code *)PTR_GetMatrixElement_003fa284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar16,iVar14,iVar1,&local_40)" ( identifier , identifier , identifier , (pointer_expression "&local_40" & identifier) )))) ;) (if_statement "if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }" { (expression_statement "local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19;" (assignment_expression "local_40 = (local_40 - **(double **)((int)this + 0x14)) * dVar19" identifier = (binary_expression "(local_40 - **(double **)((int)this + 0x14)) * dVar19" (parenthesized_expression "(local_40 - **(double **)((int)this + 0x14))" ( (binary_expression "local_40 - **(double **)((int)this + 0x14)" identifier - (pointer_expression "**(double **)((int)this + 0x14)" * (pointer_expression "*(double **)((int)this + 0x14)" * (cast_expression "(double **)((int)this + 0x14)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)this + 0x14)" ( (binary_expression "(int)this + 0x14" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) )) * identifier)) ;) (expression_statement "*pfVar3 = (float)local_40;" (assignment_expression "*pfVar3 = (float)local_40" (pointer_expression "*pfVar3" * identifier) = (cast_expression "(float)local_40" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);" (assignment_expression "pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0)" identifier = (binary_expression "pfVar3 + *(int *)(iVar15 + 0x2c0)" identifier + (pointer_expression "*(int *)(iVar15 + 0x2c0)" * (cast_expression "(int *)(iVar15 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2c0)" ( (binary_expression "iVar15 + 0x2c0" identifier + number_literal) )))))) ;) })) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar14 < *(int *)(iVar15 + 0x18))" ( (binary_expression "iVar14 < *(int *)(iVar15 + 0x18)" identifier < (pointer_expression "*(int *)(iVar15 + 0x18)" * (cast_expression "(int *)(iVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) )) ;) })) (expression_statement "iVar14 = iVar2;" (assignment_expression "iVar14 = iVar2" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18);" (assignment_expression "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18)" identifier = (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar18)" (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,uVar18)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }" { (expression_statement "*(undefined4 *)((int)this + 0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)this + 0x1c) = 0" (pointer_expression "*(undefined4 *)((int)this + 0x1c)" * (cast_expression "(undefined4 *)((int)this + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x1c)" ( (binary_expression "(int)this + 0x1c" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) }))) })) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 != iVar1)" ( (binary_expression "iVar20 != iVar1" identifier != identifier) )) ;) })) (if_statement "if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar13 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    puVar17 = puVar13 + 0x2db5bc;\n    if (iVar14 == 0) {\n      (**(code **)(puVar13 + 0x2d432c))\n                (*(int *)(puVar13 + 0x2d35f4) + 0x394,*(int *)(puVar13 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return;\n    }\n    pdVar12 = (double *)(*(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar13 + 0x2d432c))();\n    if (0 < (int)puVar17) {\n      puVar13 = (undefined *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)puVar17);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        puVar13 = puVar13 + 1;\n        pdVar11 = pdVar11 + 1;\n      } while (puVar13 != puVar17);\n    }\n    return;\n  }" if (parenthesized_expression "(local_34 != *(int *)PTR___stack_chk_guard_003fa248)" ( (binary_expression "local_34 != *(int *)PTR___stack_chk_guard_003fa248" identifier != (pointer_expression "*(int *)PTR___stack_chk_guard_003fa248" * (cast_expression "(int *)PTR___stack_chk_guard_003fa248" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    puVar13 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    puVar17 = puVar13 + 0x2db5bc;\n    if (iVar14 == 0) {\n      (**(code **)(puVar13 + 0x2d432c))\n                (*(int *)(puVar13 + 0x2d35f4) + 0x394,*(int *)(puVar13 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return;\n    }\n    pdVar12 = (double *)(*(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar13 + 0x2d432c))();\n    if (0 < (int)puVar17) {\n      puVar13 = (undefined *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)puVar17);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        puVar13 = puVar13 + 1;\n        pdVar11 = pdVar11 + 1;\n      } while (puVar13 != puVar17);\n    }\n    return;\n  }" { (expression_statement "puVar13 = PTR___stack_chk_fail_003fa07c;" (assignment_expression "puVar13 = PTR___stack_chk_fail_003fa07c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003fa07c)();" (call_expression "(*(code *)PTR___stack_chk_fail_003fa07c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003fa07c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003fa07c" * (cast_expression "(code *)PTR___stack_chk_fail_003fa07c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar17 = puVar13 + 0x2db5bc;" (assignment_expression "puVar17 = puVar13 + 0x2db5bc" identifier = (binary_expression "puVar13 + 0x2db5bc" identifier + number_literal)) ;) (if_statement "if (iVar14 == 0) {\n      (**(code **)(puVar13 + 0x2d432c))\n                (*(int *)(puVar13 + 0x2d35f4) + 0x394,*(int *)(puVar13 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return;\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(puVar13 + 0x2d432c))\n                (*(int *)(puVar13 + 0x2d35f4) + 0x394,*(int *)(puVar13 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar13 + 0x2d35f4) + 0x3f0);\n    }" { (expression_statement "(**(code **)(puVar13 + 0x2d432c))\n                (*(int *)(puVar13 + 0x2d35f4) + 0x394,*(int *)(puVar13 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar13 + 0x2d35f4) + 0x3f0);" (call_expression "(**(code **)(puVar13 + 0x2d432c))\n                (*(int *)(puVar13 + 0x2d35f4) + 0x394,*(int *)(puVar13 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar13 + 0x2d35f4) + 0x3f0)" (parenthesized_expression "(**(code **)(puVar13 + 0x2d432c))" ( (pointer_expression "**(code **)(puVar13 + 0x2d432c)" * (pointer_expression "*(code **)(puVar13 + 0x2d432c)" * (cast_expression "(code **)(puVar13 + 0x2d432c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x2d432c)" ( (binary_expression "puVar13 + 0x2d432c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x2d35f4) + 0x394,*(int *)(puVar13 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar13 + 0x2d35f4) + 0x3f0)" ( (binary_expression "*(int *)(puVar13 + 0x2d35f4) + 0x394" (pointer_expression "*(int *)(puVar13 + 0x2d35f4)" * (cast_expression "(int *)(puVar13 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d35f4)" ( (binary_expression "puVar13 + 0x2d35f4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar13 + 0x2d35f4) + 0x300" (pointer_expression "*(int *)(puVar13 + 0x2d35f4)" * (cast_expression "(int *)(puVar13 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d35f4)" ( (binary_expression "puVar13 + 0x2d35f4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar13 + 0x2d35f4) + 0x3f0" (pointer_expression "*(int *)(puVar13 + 0x2d35f4)" * (cast_expression "(int *)(puVar13 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d35f4)" ( (binary_expression "puVar13 + 0x2d35f4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return;\n    }" else (if_statement "if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return;\n    }" if (parenthesized_expression "(*(int *)(iVar14 + 0x102c) == -0x54535255)" ( (binary_expression "*(int *)(iVar14 + 0x102c) == -0x54535255" (pointer_expression "*(int *)(iVar14 + 0x102c)" * (cast_expression "(int *)(iVar14 + 0x102c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x102c)" ( (binary_expression "iVar14 + 0x102c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })))) (expression_statement "pdVar12 = (double *)(*(int *)(puVar13 + 0x2d35f4) + 0x3f0);" (assignment_expression "pdVar12 = (double *)(*(int *)(puVar13 + 0x2d35f4) + 0x3f0)" identifier = (cast_expression "(double *)(*(int *)(puVar13 + 0x2d35f4) + 0x3f0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar13 + 0x2d35f4) + 0x3f0)" ( (binary_expression "*(int *)(puVar13 + 0x2d35f4) + 0x3f0" (pointer_expression "*(int *)(puVar13 + 0x2d35f4)" * (cast_expression "(int *)(puVar13 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d35f4)" ( (binary_expression "puVar13 + 0x2d35f4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pdVar10 = (double *)&DAT_000002f2;" (assignment_expression "pdVar10 = (double *)&DAT_000002f2" identifier = (cast_expression "(double *)&DAT_000002f2" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000002f2" & identifier))) ;) (expression_statement "piVar9 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x300);" (assignment_expression "piVar9 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x300)" identifier = (cast_expression "(int *)(*(int *)(puVar13 + 0x2d35f4) + 0x300)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar13 + 0x2d35f4) + 0x300)" ( (binary_expression "*(int *)(puVar13 + 0x2d35f4) + 0x300" (pointer_expression "*(int *)(puVar13 + 0x2d35f4)" * (cast_expression "(int *)(puVar13 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d35f4)" ( (binary_expression "puVar13 + 0x2d35f4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar7 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x354);" (assignment_expression "piVar7 = (int *)(*(int *)(puVar13 + 0x2d35f4) + 0x354)" identifier = (cast_expression "(int *)(*(int *)(puVar13 + 0x2d35f4) + 0x354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar13 + 0x2d35f4) + 0x354)" ( (binary_expression "*(int *)(puVar13 + 0x2d35f4) + 0x354" (pointer_expression "*(int *)(puVar13 + 0x2d35f4)" * (cast_expression "(int *)(puVar13 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d35f4)" ( (binary_expression "puVar13 + 0x2d35f4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar13 + 0x2d432c))();" (call_expression "(**(code **)(puVar13 + 0x2d432c))()" (parenthesized_expression "(**(code **)(puVar13 + 0x2d432c))" ( (pointer_expression "**(code **)(puVar13 + 0x2d432c)" * (pointer_expression "*(code **)(puVar13 + 0x2d432c)" * (cast_expression "(code **)(puVar13 + 0x2d432c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x2d432c)" ( (binary_expression "puVar13 + 0x2d432c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (0 < (int)puVar17) {\n      puVar13 = (undefined *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)puVar17);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        puVar13 = puVar13 + 1;\n        pdVar11 = pdVar11 + 1;\n      } while (puVar13 != puVar17);\n    }" if (parenthesized_expression "(0 < (int)puVar17)" ( (binary_expression "0 < (int)puVar17" number_literal < (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      puVar13 = (undefined *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)puVar17);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        puVar13 = puVar13 + 1;\n        pdVar11 = pdVar11 + 1;\n      } while (puVar13 != puVar17);\n    }" { (expression_statement "puVar13 = (undefined *)0x0;" (assignment_expression "puVar13 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar11 = pdVar10;" (assignment_expression "pdVar11 = pdVar10" identifier = identifier) ;) (do_statement "do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)puVar17);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        puVar13 = puVar13 + 1;\n        pdVar11 = pdVar11 + 1;\n      } while (puVar13 != puVar17);" do (compound_statement "{\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)puVar17);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        puVar13 = puVar13 + 1;\n        pdVar11 = pdVar11 + 1;\n      }" { (expression_statement "piVar6 = piVar7;" (assignment_expression "piVar6 = piVar7" identifier = identifier) ;) (expression_statement "pdVar8 = pdVar10;" (assignment_expression "pdVar8 = pdVar10" identifier = identifier) ;) (do_statement "do {\n          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)puVar17);" do (compound_statement "{\n          pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        }" { (expression_statement "pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);" (assignment_expression "pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8)" identifier = (cast_expression "(double *)(*piVar6 + (int)puVar13 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + (int)puVar13 * 8)" ( (binary_expression "*piVar6 + (int)puVar13 * 8" (pointer_expression "*piVar6" * identifier) + (binary_expression "(int)puVar13 * 8" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;" (assignment_expression "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5" (pointer_expression "*pdVar5" * identifier) = (binary_expression "*pdVar8 * *pdVar11 + *pdVar5" (binary_expression "*pdVar8 * *pdVar11" (pointer_expression "*pdVar8" * identifier) * (pointer_expression "*pdVar11" * identifier)) + (pointer_expression "*pdVar5" * identifier))) ;) (expression_statement "piVar6 = piVar6 + 1;" (assignment_expression "piVar6 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (expression_statement "pdVar8 = pdVar8 + 1;" (assignment_expression "pdVar8 = pdVar8 + 1" identifier = (binary_expression "pdVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 != piVar7 + (int)puVar17)" ( (binary_expression "piVar6 != piVar7 + (int)puVar17" identifier != (binary_expression "piVar7 + (int)puVar17" identifier + (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier))) )) ;) (if_statement "if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }" if (parenthesized_expression "(0 < iStackY_74)" ( (binary_expression "0 < iStackY_74" number_literal < identifier) )) (compound_statement "{\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }" { (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" identifier = identifier) ;) (expression_statement "pdVar8 = pdVar12;" (assignment_expression "pdVar8 = pdVar12" identifier = identifier) ;) (do_statement "do {\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);" do (compound_statement "{\n            pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          }" { (expression_statement "pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8);" (assignment_expression "pdVar5 = (double *)(*piVar6 + (int)puVar13 * 8)" identifier = (cast_expression "(double *)(*piVar6 + (int)puVar13 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + (int)puVar13 * 8)" ( (binary_expression "*piVar6 + (int)puVar13 * 8" (pointer_expression "*piVar6" * identifier) + (binary_expression "(int)puVar13 * 8" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;" (assignment_expression "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5" (pointer_expression "*pdVar5" * identifier) = (binary_expression "*pdVar8 * *pdVar11 + *pdVar5" (binary_expression "*pdVar8 * *pdVar11" (pointer_expression "*pdVar8" * identifier) * (pointer_expression "*pdVar11" * identifier)) + (pointer_expression "*pdVar5" * identifier))) ;) (expression_statement "piVar6 = piVar6 + 1;" (assignment_expression "piVar6 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (expression_statement "pdVar8 = pdVar8 + 1;" (assignment_expression "pdVar8 = pdVar8 + 1" identifier = (binary_expression "pdVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 != piVar9 + iStackY_74)" ( (binary_expression "piVar6 != piVar9 + iStackY_74" identifier != (binary_expression "piVar9 + iStackY_74" identifier + identifier)) )) ;) })) (expression_statement "puVar13 = puVar13 + 1;" (assignment_expression "puVar13 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) (expression_statement "pdVar11 = pdVar11 + 1;" (assignment_expression "pdVar11 = pdVar11 + 1" identifier = (binary_expression "pdVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar13 != puVar17)" ( (binary_expression "puVar13 != puVar17" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "double * FUN_001260e0(double *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  float *pfVar3;\n  int iVar4;\n  double *pdVar5;\n  int *piVar6;\n  int *piVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  double *pdVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  undefined *puVar17;\n  double *pdVar18;\n  undefined4 uVar19;\n  double dVar20;\n  int iVar21;\n  int iStackY_74;\n  double local_40;\n  double *local_34;\n  \n  local_34 = *(double **)PTR___stack_chk_guard_003fa248;\n  iVar15 = *(int *)(param_1 + 3);\n  iVar14 = *(int *)(iVar15 + 0x1c);\n  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  if (iVar1 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar14 / iVar1;\n  iVar14 = iVar14 % iVar1;\n  if (iVar2 < iVar14) {\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }\n  iVar1 = iVar21 * iVar2 + iVar14;\n  iVar21 = iVar21 + iVar1;\n  if (iVar1 < iVar21) {\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }\n  if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }\n  return *(double **)PTR___stack_chk_guard_003fa248;\n}\n\n" (function_definition "double * FUN_001260e0(double *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  float *pfVar3;\n  int iVar4;\n  double *pdVar5;\n  int *piVar6;\n  int *piVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  double *pdVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  undefined *puVar17;\n  double *pdVar18;\n  undefined4 uVar19;\n  double dVar20;\n  int iVar21;\n  int iStackY_74;\n  double local_40;\n  double *local_34;\n  \n  local_34 = *(double **)PTR___stack_chk_guard_003fa248;\n  iVar15 = *(int *)(param_1 + 3);\n  iVar14 = *(int *)(iVar15 + 0x1c);\n  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  if (iVar1 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar14 / iVar1;\n  iVar14 = iVar14 % iVar1;\n  if (iVar2 < iVar14) {\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }\n  iVar1 = iVar21 * iVar2 + iVar14;\n  iVar21 = iVar21 + iVar1;\n  if (iVar1 < iVar21) {\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }\n  if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }\n  return *(double **)PTR___stack_chk_guard_003fa248;\n}" primitive_type (pointer_declarator "* FUN_001260e0(double *param_1)" * (function_declarator "FUN_001260e0(double *param_1)" identifier (parameter_list "(double *param_1)" ( (parameter_declaration "double *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) )))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  float *pfVar3;\n  int iVar4;\n  double *pdVar5;\n  int *piVar6;\n  int *piVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  double *pdVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  undefined *puVar17;\n  double *pdVar18;\n  undefined4 uVar19;\n  double dVar20;\n  int iVar21;\n  int iStackY_74;\n  double local_40;\n  double *local_34;\n  \n  local_34 = *(double **)PTR___stack_chk_guard_003fa248;\n  iVar15 = *(int *)(param_1 + 3);\n  iVar14 = *(int *)(iVar15 + 0x1c);\n  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  if (iVar1 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar14 / iVar1;\n  iVar14 = iVar14 % iVar1;\n  if (iVar2 < iVar14) {\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }\n  iVar1 = iVar21 * iVar2 + iVar14;\n  iVar21 = iVar21 + iVar1;\n  if (iVar1 < iVar21) {\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }\n  if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }\n  return *(double **)PTR___stack_chk_guard_003fa248;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "float *pfVar3;" primitive_type (pointer_declarator "*pfVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "double *pdVar5;" primitive_type (pointer_declarator "*pdVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "double *pdVar8;" primitive_type (pointer_declarator "*pdVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "double *pdVar10;" primitive_type (pointer_declarator "*pdVar10" * identifier) ;) (declaration "double *pdVar11;" primitive_type (pointer_declarator "*pdVar11" * identifier) ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "double *pdVar13;" primitive_type (pointer_declarator "*pdVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "double *pdVar18;" primitive_type (pointer_declarator "*pdVar18" * identifier) ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "double dVar20;" primitive_type identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iStackY_74;" primitive_type identifier ;) (declaration "double local_40;" primitive_type identifier ;) (declaration "double *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (expression_statement "local_34 = *(double **)PTR___stack_chk_guard_003fa248;" (assignment_expression "local_34 = *(double **)PTR___stack_chk_guard_003fa248" identifier = (pointer_expression "*(double **)PTR___stack_chk_guard_003fa248" * (cast_expression "(double **)PTR___stack_chk_guard_003fa248" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar15 = *(int *)(param_1 + 3);" (assignment_expression "iVar15 = *(int *)(param_1 + 3)" identifier = (pointer_expression "*(int *)(param_1 + 3)" * (cast_expression "(int *)(param_1 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(iVar15 + 0x1c);" (assignment_expression "iVar14 = *(int *)(iVar15 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar15 + 0x1c)" * (cast_expression "(int *)(iVar15 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x1c)" ( (binary_expression "iVar15 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();" (assignment_expression "iVar1 = (*(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 "iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();" (assignment_expression "iVar2 = (*(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 "()" ( )))) ;) (if_statement "if (iVar1 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 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 = iVar14 / iVar1;" (assignment_expression "iVar21 = iVar14 / iVar1" identifier = (binary_expression "iVar14 / iVar1" identifier / identifier)) ;) (expression_statement "iVar14 = iVar14 % iVar1;" (assignment_expression "iVar14 = iVar14 % iVar1" identifier = (binary_expression "iVar14 % iVar1" identifier % identifier)) ;) (if_statement "if (iVar2 < iVar14) {\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }" if (parenthesized_expression "(iVar2 < iVar14)" ( (binary_expression "iVar2 < iVar14" identifier < identifier) )) (compound_statement "{\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }" { (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) })) (expression_statement "iVar1 = iVar21 * iVar2 + iVar14;" (assignment_expression "iVar1 = iVar21 * iVar2 + iVar14" identifier = (binary_expression "iVar21 * iVar2 + iVar14" (binary_expression "iVar21 * iVar2" identifier * identifier) + identifier)) ;) (expression_statement "iVar21 = iVar21 + iVar1;" (assignment_expression "iVar21 = iVar21 + iVar1" identifier = (binary_expression "iVar21 + iVar1" identifier + identifier)) ;) (if_statement "if (iVar1 < iVar21) {\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }" if (parenthesized_expression "(iVar1 < iVar21)" ( (binary_expression "iVar1 < iVar21" identifier < identifier) )) (compound_statement "{\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }" { (expression_statement "dVar20 = *param_1;" (assignment_expression "dVar20 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar2 = *(int *)(param_1 + 2);" (assignment_expression "iVar2 = *(int *)(param_1 + 2)" identifier = (pointer_expression "*(int *)(param_1 + 2)" * (cast_expression "(int *)(param_1 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = *(undefined4 *)((int)param_1 + 0xc);" (assignment_expression "uVar19 = *(undefined4 *)((int)param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)((int)param_1 + 0xc)" * (cast_expression "(undefined4 *)((int)param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xc)" ( (binary_expression "(int)param_1 + 0xc" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(param_1 + 1);" (assignment_expression "uVar16 = *(undefined4 *)(param_1 + 1)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 1)" * (cast_expression "(undefined4 *)(param_1 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) ))))) ;) (do_statement "do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);" do (compound_statement "{\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    }" { (if_statement "if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }" if (parenthesized_expression "(*(int *)((int)param_1 + 0x1c) != 0)" ( (binary_expression "*(int *)((int)param_1 + 0x1c) != 0" (pointer_expression "*(int *)((int)param_1 + 0x1c)" * (cast_expression "(int *)((int)param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1c)" ( (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }" { (expression_statement "iVar14 = iVar2;" (assignment_expression "iVar14 = iVar2" identifier = identifier) ;) (expression_statement "pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);" (assignment_expression "pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" identifier = (cast_expression "(float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" (parenthesized_expression "(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)" ( (pointer_expression "*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68" * (cast_expression "(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(iVar15 + 0x18)" * (cast_expression "(undefined4 *)(iVar15 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) )))) , number_literal , identifier ))))) ;) (if_statement "if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }" if (parenthesized_expression "(pfVar3 == (float *)0x0)" ( (binary_expression "pfVar3 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }" { (expression_statement "*(undefined4 *)((int)param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + 0x1c)" * (cast_expression "(undefined4 *)((int)param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1c)" ( (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }" else (compound_statement "{\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (if_statement "if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }" if (parenthesized_expression "(0 < *(int *)(iVar15 + 0x18))" ( (binary_expression "0 < *(int *)(iVar15 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar15 + 0x18)" * (cast_expression "(int *)(iVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }" { (do_statement "do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));" do (compound_statement "{\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            }" { (expression_statement "iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);" (assignment_expression "iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40)" identifier = (call_expression "(*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40)" (parenthesized_expression "(*(code *)PTR_GetMatrixElement_003fa284)" ( (pointer_expression "*(code *)PTR_GetMatrixElement_003fa284" * (cast_expression "(code *)PTR_GetMatrixElement_003fa284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar16,iVar14,iVar1,&local_40)" ( identifier , identifier , identifier , (pointer_expression "&local_40" & identifier) )))) ;) (if_statement "if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }" { (expression_statement "local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;" (assignment_expression "local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20" identifier = (binary_expression "(local_40 - **(double **)((int)param_1 + 0x14)) * dVar20" (parenthesized_expression "(local_40 - **(double **)((int)param_1 + 0x14))" ( (binary_expression "local_40 - **(double **)((int)param_1 + 0x14)" identifier - (pointer_expression "**(double **)((int)param_1 + 0x14)" * (pointer_expression "*(double **)((int)param_1 + 0x14)" * (cast_expression "(double **)((int)param_1 + 0x14)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_1 + 0x14)" ( (binary_expression "(int)param_1 + 0x14" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) )) * identifier)) ;) (expression_statement "*pfVar3 = (float)local_40;" (assignment_expression "*pfVar3 = (float)local_40" (pointer_expression "*pfVar3" * identifier) = (cast_expression "(float)local_40" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);" (assignment_expression "pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0)" identifier = (binary_expression "pfVar3 + *(int *)(iVar15 + 0x2c0)" identifier + (pointer_expression "*(int *)(iVar15 + 0x2c0)" * (cast_expression "(int *)(iVar15 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2c0)" ( (binary_expression "iVar15 + 0x2c0" identifier + number_literal) )))))) ;) })) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar14 < *(int *)(iVar15 + 0x18))" ( (binary_expression "iVar14 < *(int *)(iVar15 + 0x18)" identifier < (pointer_expression "*(int *)(iVar15 + 0x18)" * (cast_expression "(int *)(iVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) )) ;) })) (expression_statement "iVar14 = iVar2;" (assignment_expression "iVar14 = iVar2" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);" (assignment_expression "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19)" identifier = (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19)" (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,uVar19)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }" { (expression_statement "*(undefined4 *)((int)param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + 0x1c)" * (cast_expression "(undefined4 *)((int)param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1c)" ( (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) }))) })) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 != iVar1)" ( (binary_expression "iVar21 != iVar1" identifier != identifier) )) ;) })) (if_statement "if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }" if (parenthesized_expression "(local_34 != *(double **)PTR___stack_chk_guard_003fa248)" ( (binary_expression "local_34 != *(double **)PTR___stack_chk_guard_003fa248" identifier != (pointer_expression "*(double **)PTR___stack_chk_guard_003fa248" * (cast_expression "(double **)PTR___stack_chk_guard_003fa248" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }" { (expression_statement "puVar17 = PTR___stack_chk_fail_003fa07c;" (assignment_expression "puVar17 = PTR___stack_chk_fail_003fa07c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003fa07c)();" (call_expression "(*(code *)PTR___stack_chk_fail_003fa07c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003fa07c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003fa07c" * (cast_expression "(code *)PTR___stack_chk_fail_003fa07c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pdVar18 = (double *)(puVar17 + 0x2db5bc);" (assignment_expression "pdVar18 = (double *)(puVar17 + 0x2db5bc)" identifier = (cast_expression "(double *)(puVar17 + 0x2db5bc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2db5bc)" ( (binary_expression "puVar17 + 0x2db5bc" identifier + number_literal) )))) ;) (if_statement "if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }" { (expression_statement "(**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);" (call_expression "(**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0)" (parenthesized_expression "(**(code **)(puVar17 + 0x2d432c))" ( (pointer_expression "**(code **)(puVar17 + 0x2d432c)" * (pointer_expression "*(code **)(puVar17 + 0x2d432c)" * (cast_expression "(code **)(puVar17 + 0x2d432c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x2d432c)" ( (binary_expression "puVar17 + 0x2d432c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0)" ( (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x394" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x300" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x3f0" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }" else (if_statement "if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }" if (parenthesized_expression "(*(int *)(iVar14 + 0x102c) == -0x54535255)" ( (binary_expression "*(int *)(iVar14 + 0x102c) == -0x54535255" (pointer_expression "*(int *)(iVar14 + 0x102c)" * (cast_expression "(int *)(iVar14 + 0x102c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x102c)" ( (binary_expression "iVar14 + 0x102c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      return *(double **)(iVar14 + 8);\n    }" { (return_statement "return *(double **)(iVar14 + 8);" return (pointer_expression "*(double **)(iVar14 + 8)" * (cast_expression "(double **)(iVar14 + 8)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 8)" ( (binary_expression "iVar14 + 8" identifier + number_literal) )))) ;) })))) (expression_statement "pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);" (assignment_expression "pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0)" identifier = (cast_expression "(double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x2d35f4) + 0x3f0)" ( (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x3f0" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pdVar10 = (double *)&DAT_000002f2;" (assignment_expression "pdVar10 = (double *)&DAT_000002f2" identifier = (cast_expression "(double *)&DAT_000002f2" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000002f2" & identifier))) ;) (expression_statement "piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);" (assignment_expression "piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300)" identifier = (cast_expression "(int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x2d35f4) + 0x300)" ( (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x300" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);" (assignment_expression "piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354)" identifier = (cast_expression "(int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x2d35f4) + 0x354)" ( (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x354" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" * (cast_expression "(int *)(puVar17 + 0x2d35f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x2d35f4)" ( (binary_expression "puVar17 + 0x2d35f4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar17 + 0x2d432c))();" (call_expression "(**(code **)(puVar17 + 0x2d432c))()" (parenthesized_expression "(**(code **)(puVar17 + 0x2d432c))" ( (pointer_expression "**(code **)(puVar17 + 0x2d432c)" * (pointer_expression "*(code **)(puVar17 + 0x2d432c)" * (cast_expression "(code **)(puVar17 + 0x2d432c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x2d432c)" ( (binary_expression "puVar17 + 0x2d432c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pdVar5 = pdVar18;" (assignment_expression "pdVar5 = pdVar18" identifier = identifier) ;) (if_statement "if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }" if (parenthesized_expression "(0 < (int)pdVar18)" ( (binary_expression "0 < (int)pdVar18" number_literal < (cast_expression "(int)pdVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }" { (expression_statement "pdVar13 = (double *)0x0;" (assignment_expression "pdVar13 = (double *)0x0" identifier = (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar11 = pdVar10;" (assignment_expression "pdVar11 = pdVar10" identifier = identifier) ;) (do_statement "do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);" do (compound_statement "{\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      }" { (expression_statement "piVar6 = piVar7;" (assignment_expression "piVar6 = piVar7" identifier = identifier) ;) (expression_statement "pdVar8 = pdVar10;" (assignment_expression "pdVar8 = pdVar10" identifier = identifier) ;) (do_statement "do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);" do (compound_statement "{\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        }" { (expression_statement "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);" (assignment_expression "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8)" identifier = (cast_expression "(double *)(*piVar6 + (int)pdVar13 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + (int)pdVar13 * 8)" ( (binary_expression "*piVar6 + (int)pdVar13 * 8" (pointer_expression "*piVar6" * identifier) + (binary_expression "(int)pdVar13 * 8" (cast_expression "(int)pdVar13" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;" (assignment_expression "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5" (pointer_expression "*pdVar5" * identifier) = (binary_expression "*pdVar8 * *pdVar11 + *pdVar5" (binary_expression "*pdVar8 * *pdVar11" (pointer_expression "*pdVar8" * identifier) * (pointer_expression "*pdVar11" * identifier)) + (pointer_expression "*pdVar5" * identifier))) ;) (expression_statement "piVar6 = piVar6 + 1;" (assignment_expression "piVar6 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (expression_statement "pdVar8 = pdVar8 + 1;" (assignment_expression "pdVar8 = pdVar8 + 1" identifier = (binary_expression "pdVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 != piVar7 + (int)pdVar18)" ( (binary_expression "piVar6 != piVar7 + (int)pdVar18" identifier != (binary_expression "piVar7 + (int)pdVar18" identifier + (cast_expression "(int)pdVar18" ( (type_descriptor "int" primitive_type) ) identifier))) )) ;) (if_statement "if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }" if (parenthesized_expression "(0 < iStackY_74)" ( (binary_expression "0 < iStackY_74" number_literal < identifier) )) (compound_statement "{\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }" { (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" identifier = identifier) ;) (expression_statement "pdVar8 = pdVar12;" (assignment_expression "pdVar8 = pdVar12" identifier = identifier) ;) (do_statement "do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);" do (compound_statement "{\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          }" { (expression_statement "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);" (assignment_expression "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8)" identifier = (cast_expression "(double *)(*piVar6 + (int)pdVar13 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + (int)pdVar13 * 8)" ( (binary_expression "*piVar6 + (int)pdVar13 * 8" (pointer_expression "*piVar6" * identifier) + (binary_expression "(int)pdVar13 * 8" (cast_expression "(int)pdVar13" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;" (assignment_expression "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5" (pointer_expression "*pdVar5" * identifier) = (binary_expression "*pdVar8 * *pdVar11 + *pdVar5" (binary_expression "*pdVar8 * *pdVar11" (pointer_expression "*pdVar8" * identifier) * (pointer_expression "*pdVar11" * identifier)) + (pointer_expression "*pdVar5" * identifier))) ;) (expression_statement "piVar6 = piVar6 + 1;" (assignment_expression "piVar6 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (expression_statement "pdVar8 = pdVar8 + 1;" (assignment_expression "pdVar8 = pdVar8 + 1" identifier = (binary_expression "pdVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 != piVar9 + iStackY_74)" ( (binary_expression "piVar6 != piVar9 + iStackY_74" identifier != (binary_expression "piVar9 + iStackY_74" identifier + identifier)) )) ;) })) (expression_statement "pdVar13 = (double *)((int)pdVar13 + 1);" (assignment_expression "pdVar13 = (double *)((int)pdVar13 + 1)" identifier = (cast_expression "(double *)((int)pdVar13 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar13 + 1)" ( (binary_expression "(int)pdVar13 + 1" (cast_expression "(int)pdVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pdVar11 = pdVar11 + 1;" (assignment_expression "pdVar11 = pdVar11 + 1" identifier = (binary_expression "pdVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pdVar13 != pdVar18)" ( (binary_expression "pdVar13 != pdVar18" identifier != identifier) )) ;) })) (return_statement "return pdVar5;" return identifier ;) })) (return_statement "return *(double **)PTR___stack_chk_guard_003fa248;" return (pointer_expression "*(double **)PTR___stack_chk_guard_003fa248" * (cast_expression "(double **)PTR___stack_chk_guard_003fa248" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 = (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 ( )))) ;) (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 = (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (do_statement do (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 , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))))) )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) })) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })))) (expression_statement (assignment_expression IDENT = (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) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (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) )))) ;) (expression_statement (assignment_expression IDENT = (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) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) * (pointer_expression * IDENT)) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) * (pointer_expression * IDENT)) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return IDENT ;) })) (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) })))
(function_definition "double * FUN_001260e0(double *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  float *pfVar3;\n  int iVar4;\n  double *pdVar5;\n  int *piVar6;\n  int *piVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  double *pdVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  undefined *puVar17;\n  double *pdVar18;\n  undefined4 uVar19;\n  double dVar20;\n  int iVar21;\n  int iStackY_74;\n  double local_40;\n  double *local_34;\n  \n  local_34 = *(double **)PTR___stack_chk_guard_003fa248;\n  iVar15 = *(int *)(param_1 + 3);\n  iVar14 = *(int *)(iVar15 + 0x1c);\n  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  if (iVar1 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar14 / iVar1;\n  iVar14 = iVar14 % iVar1;\n  if (iVar2 < iVar14) {\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }\n  iVar1 = iVar21 * iVar2 + iVar14;\n  iVar21 = iVar21 + iVar1;\n  if (iVar1 < iVar21) {\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }\n  if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }\n  return *(double **)PTR___stack_chk_guard_003fa248;\n}" (primitive_type "double") (pointer_declarator "* FUN_001260e0(double *param_1)" (* "*") (function_declarator "FUN_001260e0(double *param_1)" (identifier "FUN_001260e0") (parameter_list "(double *param_1)" (( "(") (parameter_declaration "double *param_1" (primitive_type "double") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")")))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  float *pfVar3;\n  int iVar4;\n  double *pdVar5;\n  int *piVar6;\n  int *piVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  double *pdVar13;\n  int iVar14;\n  int iVar15;\n  undefined4 uVar16;\n  undefined *puVar17;\n  double *pdVar18;\n  undefined4 uVar19;\n  double dVar20;\n  int iVar21;\n  int iStackY_74;\n  double local_40;\n  double *local_34;\n  \n  local_34 = *(double **)PTR___stack_chk_guard_003fa248;\n  iVar15 = *(int *)(param_1 + 3);\n  iVar14 = *(int *)(iVar15 + 0x1c);\n  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();\n  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();\n  if (iVar1 == 0) {\n    trap(7);\n  }\n  iVar21 = iVar14 / iVar1;\n  iVar14 = iVar14 % iVar1;\n  if (iVar2 < iVar14) {\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }\n  iVar1 = iVar21 * iVar2 + iVar14;\n  iVar21 = iVar21 + iVar1;\n  if (iVar1 < iVar21) {\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }\n  if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }\n  return *(double **)PTR___stack_chk_guard_003fa248;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "float *pfVar3;" (primitive_type "float") (pointer_declarator "*pfVar3" (* "*") (identifier "pfVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "double *pdVar5;" (primitive_type "double") (pointer_declarator "*pdVar5" (* "*") (identifier "pdVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "double *pdVar8;" (primitive_type "double") (pointer_declarator "*pdVar8" (* "*") (identifier "pdVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "double *pdVar10;" (primitive_type "double") (pointer_declarator "*pdVar10" (* "*") (identifier "pdVar10")) (; ";")) (declaration "double *pdVar11;" (primitive_type "double") (pointer_declarator "*pdVar11" (* "*") (identifier "pdVar11")) (; ";")) (declaration "double *pdVar12;" (primitive_type "double") (pointer_declarator "*pdVar12" (* "*") (identifier "pdVar12")) (; ";")) (declaration "double *pdVar13;" (primitive_type "double") (pointer_declarator "*pdVar13" (* "*") (identifier "pdVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "double *pdVar18;" (primitive_type "double") (pointer_declarator "*pdVar18" (* "*") (identifier "pdVar18")) (; ";")) (declaration "undefined4 uVar19;" (type_identifier "undefined4") (identifier "uVar19") (; ";")) (declaration "double dVar20;" (primitive_type "double") (identifier "dVar20") (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "int iStackY_74;" (primitive_type "int") (identifier "iStackY_74") (; ";")) (declaration "double local_40;" (primitive_type "double") (identifier "local_40") (; ";")) (declaration "double *local_34;" (primitive_type "double") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (expression_statement "local_34 = *(double **)PTR___stack_chk_guard_003fa248;" (assignment_expression "local_34 = *(double **)PTR___stack_chk_guard_003fa248" (identifier "local_34") (= "=") (pointer_expression "*(double **)PTR___stack_chk_guard_003fa248" (* "*") (cast_expression "(double **)PTR___stack_chk_guard_003fa248" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_003fa248")))) (; ";")) (expression_statement "iVar15 = *(int *)(param_1 + 3);" (assignment_expression "iVar15 = *(int *)(param_1 + 3)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(param_1 + 3)" (* "*") (cast_expression "(int *)(param_1 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "iVar14 = *(int *)(iVar15 + 0x1c);" (assignment_expression "iVar14 = *(int *)(iVar15 + 0x1c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar15 + 0x1c)" (* "*") (cast_expression "(int *)(iVar15 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x1c)" (( "(") (binary_expression "iVar15 + 0x1c" (identifier "iVar15") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();" (assignment_expression "iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)()" (identifier "iVar1") (= "=") (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 "iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();" (assignment_expression "iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)()" (identifier "iVar2") (= "=") (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 "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n    trap(7);\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (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 = iVar14 / iVar1;" (assignment_expression "iVar21 = iVar14 / iVar1" (identifier "iVar21") (= "=") (binary_expression "iVar14 / iVar1" (identifier "iVar14") (/ "/") (identifier "iVar1"))) (; ";")) (expression_statement "iVar14 = iVar14 % iVar1;" (assignment_expression "iVar14 = iVar14 % iVar1" (identifier "iVar14") (= "=") (binary_expression "iVar14 % iVar1" (identifier "iVar14") (% "%") (identifier "iVar1"))) (; ";")) (if_statement "if (iVar2 < iVar14) {\n    iVar21 = iVar21 + 1;\n    iVar14 = 0;\n  }" (if "if") (parenthesized_expression "(iVar2 < iVar14)" (( "(") (binary_expression "iVar2 < iVar14" (identifier "iVar2") (< "<") (identifier "iVar14")) () ")")) (compound_statement "{\n    iVar21 = iVar21 + 1;\n    iVar14 = 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 "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar1 = iVar21 * iVar2 + iVar14;" (assignment_expression "iVar1 = iVar21 * iVar2 + iVar14" (identifier "iVar1") (= "=") (binary_expression "iVar21 * iVar2 + iVar14" (binary_expression "iVar21 * iVar2" (identifier "iVar21") (* "*") (identifier "iVar2")) (+ "+") (identifier "iVar14"))) (; ";")) (expression_statement "iVar21 = iVar21 + iVar1;" (assignment_expression "iVar21 = iVar21 + iVar1" (identifier "iVar21") (= "=") (binary_expression "iVar21 + iVar1" (identifier "iVar21") (+ "+") (identifier "iVar1"))) (; ";")) (if_statement "if (iVar1 < iVar21) {\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }" (if "if") (parenthesized_expression "(iVar1 < iVar21)" (( "(") (binary_expression "iVar1 < iVar21" (identifier "iVar1") (< "<") (identifier "iVar21")) () ")")) (compound_statement "{\n    dVar20 = *param_1;\n    iVar2 = *(int *)(param_1 + 2);\n    uVar19 = *(undefined4 *)((int)param_1 + 0xc);\n    uVar16 = *(undefined4 *)(param_1 + 1);\n    do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);\n  }" ({ "{") (expression_statement "dVar20 = *param_1;" (assignment_expression "dVar20 = *param_1" (identifier "dVar20") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "iVar2 = *(int *)(param_1 + 2);" (assignment_expression "iVar2 = *(int *)(param_1 + 2)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 2)" (* "*") (cast_expression "(int *)(param_1 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "uVar19 = *(undefined4 *)((int)param_1 + 0xc);" (assignment_expression "uVar19 = *(undefined4 *)((int)param_1 + 0xc)" (identifier "uVar19") (= "=") (pointer_expression "*(undefined4 *)((int)param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0xc)" (( "(") (binary_expression "(int)param_1 + 0xc" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar16 = *(undefined4 *)(param_1 + 1);" (assignment_expression "uVar16 = *(undefined4 *)(param_1 + 1)" (identifier "uVar16") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 1)" (* "*") (cast_expression "(undefined4 *)(param_1 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 1)" (( "(") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (do_statement "do {\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    } while (iVar21 != iVar1);" (do "do") (compound_statement "{\n      if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }\n      iVar1 = iVar1 + 1;\n    }" ({ "{") (if_statement "if (*(int *)((int)param_1 + 0x1c) != 0) {\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)((int)param_1 + 0x1c) != 0)" (( "(") (binary_expression "*(int *)((int)param_1 + 0x1c) != 0" (pointer_expression "*(int *)((int)param_1 + 0x1c)" (* "*") (cast_expression "(int *)((int)param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x1c)" (( "(") (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar14 = iVar2;\n        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);\n        if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }\n      }" ({ "{") (expression_statement "iVar14 = iVar2;" (assignment_expression "iVar14 = iVar2" (identifier "iVar14") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);" (assignment_expression "pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" (identifier "pfVar3") (= "=") (cast_expression "(float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)\n                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" (parenthesized_expression "(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)" (( "(") (pointer_expression "*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68" (* "*") (cast_expression "(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_QueueCacheViewAuthenticPixels_003f9c68"))) () ")")) (argument_list "(iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19)" (( "(") (identifier "iVar2") (, ",") (number_literal "0") (, ",") (identifier "iVar1") (, ",") (pointer_expression "*(undefined4 *)(iVar15 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x18)" (( "(") (binary_expression "iVar15 + 0x18" (identifier "iVar15") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (number_literal "1") (, ",") (identifier "uVar19") () ")"))))) (; ";")) (if_statement "if (pfVar3 == (float *)0x0) {\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }\n        else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }" (if "if") (parenthesized_expression "(pfVar3 == (float *)0x0)" (( "(") (binary_expression "pfVar3 == (float *)0x0" (identifier "pfVar3") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *(undefined4 *)((int)param_1 + 0x1c) = 0;\n        }" ({ "{") (expression_statement "*(undefined4 *)((int)param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x1c)" (( "(") (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }" (else "else") (compound_statement "{\n          iVar14 = 0;\n          if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }\n          iVar14 = iVar2;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }\n        }" ({ "{") (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < *(int *)(iVar15 + 0x18)) {\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }" (if "if") (parenthesized_expression "(0 < *(int *)(iVar15 + 0x18))" (( "(") (binary_expression "0 < *(int *)(iVar15 + 0x18)" (number_literal "0") (< "<") (pointer_expression "*(int *)(iVar15 + 0x18)" (* "*") (cast_expression "(int *)(iVar15 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x18)" (( "(") (binary_expression "iVar15 + 0x18" (identifier "iVar15") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n            do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));\n          }" ({ "{") (do_statement "do {\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            } while (iVar14 < *(int *)(iVar15 + 0x18));" (do "do") (compound_statement "{\n              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);\n              if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }\n              iVar14 = iVar14 + 1;\n            }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);" (assignment_expression "iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40)" (parenthesized_expression "(*(code *)PTR_GetMatrixElement_003fa284)" (( "(") (pointer_expression "*(code *)PTR_GetMatrixElement_003fa284" (* "*") (cast_expression "(code *)PTR_GetMatrixElement_003fa284" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMatrixElement_003fa284"))) () ")")) (argument_list "(uVar16,iVar14,iVar1,&local_40)" (( "(") (identifier "uVar16") (, ",") (identifier "iVar14") (, ",") (identifier "iVar1") (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;\n                *pfVar3 = (float)local_40;\n                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);\n              }" ({ "{") (expression_statement "local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;" (assignment_expression "local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20" (identifier "local_40") (= "=") (binary_expression "(local_40 - **(double **)((int)param_1 + 0x14)) * dVar20" (parenthesized_expression "(local_40 - **(double **)((int)param_1 + 0x14))" (( "(") (binary_expression "local_40 - **(double **)((int)param_1 + 0x14)" (identifier "local_40") (- "-") (pointer_expression "**(double **)((int)param_1 + 0x14)" (* "*") (pointer_expression "*(double **)((int)param_1 + 0x14)" (* "*") (cast_expression "(double **)((int)param_1 + 0x14)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)param_1 + 0x14)" (( "(") (binary_expression "(int)param_1 + 0x14" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x14")) () ")")))))) () ")")) (* "*") (identifier "dVar20"))) (; ";")) (expression_statement "*pfVar3 = (float)local_40;" (assignment_expression "*pfVar3 = (float)local_40" (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3")) (= "=") (cast_expression "(float)local_40" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_40"))) (; ";")) (expression_statement "pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);" (assignment_expression "pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0)" (identifier "pfVar3") (= "=") (binary_expression "pfVar3 + *(int *)(iVar15 + 0x2c0)" (identifier "pfVar3") (+ "+") (pointer_expression "*(int *)(iVar15 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar15 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x2c0)" (( "(") (binary_expression "iVar15 + 0x2c0" (identifier "iVar15") (+ "+") (number_literal "0x2c0")) () ")")))))) (; ";")) (} "}"))) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar14 < *(int *)(iVar15 + 0x18))" (( "(") (binary_expression "iVar14 < *(int *)(iVar15 + 0x18)" (identifier "iVar14") (< "<") (pointer_expression "*(int *)(iVar15 + 0x18)" (* "*") (cast_expression "(int *)(iVar15 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x18)" (( "(") (binary_expression "iVar15 + 0x18" (identifier "iVar15") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar14 = iVar2;" (assignment_expression "iVar14 = iVar2" (identifier "iVar14") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);" (assignment_expression "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19)" (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,uVar19)" (( "(") (identifier "iVar2") (, ",") (identifier "uVar19") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *)((int)param_1 + 0x1c) = 0;\n          }" ({ "{") (expression_statement "*(undefined4 *)((int)param_1 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + 0x1c) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x1c)" (( "(") (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 != iVar1)" (( "(") (binary_expression "iVar21 != iVar1" (identifier "iVar21") (!= "!=") (identifier "iVar1")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }" (if "if") (parenthesized_expression "(local_34 != *(double **)PTR___stack_chk_guard_003fa248)" (( "(") (binary_expression "local_34 != *(double **)PTR___stack_chk_guard_003fa248" (identifier "local_34") (!= "!=") (pointer_expression "*(double **)PTR___stack_chk_guard_003fa248" (* "*") (cast_expression "(double **)PTR___stack_chk_guard_003fa248" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_003fa248")))) () ")")) (compound_statement "{\n    puVar17 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    pdVar18 = (double *)(puVar17 + 0x2db5bc);\n    if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }\n    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    pdVar10 = (double *)&DAT_000002f2;\n    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);\n    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);\n    (**(code **)(puVar17 + 0x2d432c))();\n    pdVar5 = pdVar18;\n    if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }\n    return pdVar5;\n  }" ({ "{") (expression_statement "puVar17 = PTR___stack_chk_fail_003fa07c;" (assignment_expression "puVar17 = PTR___stack_chk_fail_003fa07c" (identifier "puVar17") (= "=") (identifier "PTR___stack_chk_fail_003fa07c")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_003fa07c)();" (call_expression "(*(code *)PTR___stack_chk_fail_003fa07c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003fa07c)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_003fa07c" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_003fa07c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_003fa07c"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pdVar18 = (double *)(puVar17 + 0x2db5bc);" (assignment_expression "pdVar18 = (double *)(puVar17 + 0x2db5bc)" (identifier "pdVar18") (= "=") (cast_expression "(double *)(puVar17 + 0x2db5bc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x2db5bc)" (( "(") (binary_expression "puVar17 + 0x2db5bc" (identifier "puVar17") (+ "+") (number_literal "0x2db5bc")) () ")")))) (; ";")) (if_statement "if (iVar14 == 0) {\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }\n    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);\n    }" ({ "{") (expression_statement "(**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);" (call_expression "(**(code **)(puVar17 + 0x2d432c))\n                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0)" (parenthesized_expression "(**(code **)(puVar17 + 0x2d432c))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x2d432c)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x2d432c)" (* "*") (cast_expression "(code **)(puVar17 + 0x2d432c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x2d432c)" (( "(") (binary_expression "puVar17 + 0x2d432c" (identifier "puVar17") (+ "+") (number_literal "0x2d432c")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,\n                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0)" (( "(") (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x394" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" (* "*") (cast_expression "(int *)(puVar17 + 0x2d35f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x2d35f4)" (( "(") (binary_expression "puVar17 + 0x2d35f4" (identifier "puVar17") (+ "+") (number_literal "0x2d35f4")) () ")")))) (+ "+") (number_literal "0x394")) (, ",") (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x300" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" (* "*") (cast_expression "(int *)(puVar17 + 0x2d35f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x2d35f4)" (( "(") (binary_expression "puVar17 + 0x2d35f4" (identifier "puVar17") (+ "+") (number_literal "0x2d35f4")) () ")")))) (+ "+") (number_literal "0x300")) (, ",") (number_literal "0x2f1") (, ",") (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x3f0" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" (* "*") (cast_expression "(int *)(puVar17 + 0x2d35f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x2d35f4)" (( "(") (binary_expression "puVar17 + 0x2d35f4" (identifier "puVar17") (+ "+") (number_literal "0x2d35f4")) () ")")))) (+ "+") (number_literal "0x3f0")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }" (else "else") (if_statement "if (*(int *)(iVar14 + 0x102c) == -0x54535255) {\n      return *(double **)(iVar14 + 8);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar14 + 0x102c) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar14 + 0x102c) == -0x54535255" (pointer_expression "*(int *)(iVar14 + 0x102c)" (* "*") (cast_expression "(int *)(iVar14 + 0x102c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x102c)" (( "(") (binary_expression "iVar14 + 0x102c" (identifier "iVar14") (+ "+") (number_literal "0x102c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      return *(double **)(iVar14 + 8);\n    }" ({ "{") (return_statement "return *(double **)(iVar14 + 8);" (return "return") (pointer_expression "*(double **)(iVar14 + 8)" (* "*") (cast_expression "(double **)(iVar14 + 8)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 8)" (( "(") (binary_expression "iVar14 + 8" (identifier "iVar14") (+ "+") (number_literal "8")) () ")")))) (; ";")) (} "}"))))) (expression_statement "pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);" (assignment_expression "pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0)" (identifier "pdVar12") (= "=") (cast_expression "(double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar17 + 0x2d35f4) + 0x3f0)" (( "(") (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x3f0" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" (* "*") (cast_expression "(int *)(puVar17 + 0x2d35f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x2d35f4)" (( "(") (binary_expression "puVar17 + 0x2d35f4" (identifier "puVar17") (+ "+") (number_literal "0x2d35f4")) () ")")))) (+ "+") (number_literal "0x3f0")) () ")")))) (; ";")) (expression_statement "pdVar10 = (double *)&DAT_000002f2;" (assignment_expression "pdVar10 = (double *)&DAT_000002f2" (identifier "pdVar10") (= "=") (cast_expression "(double *)&DAT_000002f2" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000002f2" (& "&") (identifier "DAT_000002f2")))) (; ";")) (expression_statement "piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);" (assignment_expression "piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300)" (identifier "piVar9") (= "=") (cast_expression "(int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar17 + 0x2d35f4) + 0x300)" (( "(") (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x300" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" (* "*") (cast_expression "(int *)(puVar17 + 0x2d35f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x2d35f4)" (( "(") (binary_expression "puVar17 + 0x2d35f4" (identifier "puVar17") (+ "+") (number_literal "0x2d35f4")) () ")")))) (+ "+") (number_literal "0x300")) () ")")))) (; ";")) (expression_statement "piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);" (assignment_expression "piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354)" (identifier "piVar7") (= "=") (cast_expression "(int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar17 + 0x2d35f4) + 0x354)" (( "(") (binary_expression "*(int *)(puVar17 + 0x2d35f4) + 0x354" (pointer_expression "*(int *)(puVar17 + 0x2d35f4)" (* "*") (cast_expression "(int *)(puVar17 + 0x2d35f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x2d35f4)" (( "(") (binary_expression "puVar17 + 0x2d35f4" (identifier "puVar17") (+ "+") (number_literal "0x2d35f4")) () ")")))) (+ "+") (number_literal "0x354")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar17 + 0x2d432c))();" (call_expression "(**(code **)(puVar17 + 0x2d432c))()" (parenthesized_expression "(**(code **)(puVar17 + 0x2d432c))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x2d432c)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x2d432c)" (* "*") (cast_expression "(code **)(puVar17 + 0x2d432c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x2d432c)" (( "(") (binary_expression "puVar17 + 0x2d432c" (identifier "puVar17") (+ "+") (number_literal "0x2d432c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pdVar5 = pdVar18;" (assignment_expression "pdVar5 = pdVar18" (identifier "pdVar5") (= "=") (identifier "pdVar18")) (; ";")) (if_statement "if (0 < (int)pdVar18) {\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }" (if "if") (parenthesized_expression "(0 < (int)pdVar18)" (( "(") (binary_expression "0 < (int)pdVar18" (number_literal "0") (< "<") (cast_expression "(int)pdVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar18"))) () ")")) (compound_statement "{\n      pdVar13 = (double *)0x0;\n      pdVar11 = pdVar10;\n      do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);\n    }" ({ "{") (expression_statement "pdVar13 = (double *)0x0;" (assignment_expression "pdVar13 = (double *)0x0" (identifier "pdVar13") (= "=") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pdVar11 = pdVar10;" (assignment_expression "pdVar11 = pdVar10" (identifier "pdVar11") (= "=") (identifier "pdVar10")) (; ";")) (do_statement "do {\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      } while (pdVar13 != pdVar18);" (do "do") (compound_statement "{\n        piVar6 = piVar7;\n        pdVar8 = pdVar10;\n        do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);\n        if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }\n        pdVar13 = (double *)((int)pdVar13 + 1);\n        pdVar11 = pdVar11 + 1;\n      }" ({ "{") (expression_statement "piVar6 = piVar7;" (assignment_expression "piVar6 = piVar7" (identifier "piVar6") (= "=") (identifier "piVar7")) (; ";")) (expression_statement "pdVar8 = pdVar10;" (assignment_expression "pdVar8 = pdVar10" (identifier "pdVar8") (= "=") (identifier "pdVar10")) (; ";")) (do_statement "do {\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        } while (piVar6 != piVar7 + (int)pdVar18);" (do "do") (compound_statement "{\n          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n          piVar6 = piVar6 + 1;\n          pdVar8 = pdVar8 + 1;\n        }" ({ "{") (expression_statement "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);" (assignment_expression "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8)" (identifier "pdVar5") (= "=") (cast_expression "(double *)(*piVar6 + (int)pdVar13 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar6 + (int)pdVar13 * 8)" (( "(") (binary_expression "*piVar6 + (int)pdVar13 * 8" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (+ "+") (binary_expression "(int)pdVar13 * 8" (cast_expression "(int)pdVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar13")) (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;" (assignment_expression "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5" (pointer_expression "*pdVar5" (* "*") (identifier "pdVar5")) (= "=") (binary_expression "*pdVar8 * *pdVar11 + *pdVar5" (binary_expression "*pdVar8 * *pdVar11" (pointer_expression "*pdVar8" (* "*") (identifier "pdVar8")) (* "*") (pointer_expression "*pdVar11" (* "*") (identifier "pdVar11"))) (+ "+") (pointer_expression "*pdVar5" (* "*") (identifier "pdVar5")))) (; ";")) (expression_statement "piVar6 = piVar6 + 1;" (assignment_expression "piVar6 = piVar6 + 1" (identifier "piVar6") (= "=") (binary_expression "piVar6 + 1" (identifier "piVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pdVar8 = pdVar8 + 1;" (assignment_expression "pdVar8 = pdVar8 + 1" (identifier "pdVar8") (= "=") (binary_expression "pdVar8 + 1" (identifier "pdVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar6 != piVar7 + (int)pdVar18)" (( "(") (binary_expression "piVar6 != piVar7 + (int)pdVar18" (identifier "piVar6") (!= "!=") (binary_expression "piVar7 + (int)pdVar18" (identifier "piVar7") (+ "+") (cast_expression "(int)pdVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar18")))) () ")")) (; ";")) (if_statement "if (0 < iStackY_74) {\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }" (if "if") (parenthesized_expression "(0 < iStackY_74)" (( "(") (binary_expression "0 < iStackY_74" (number_literal "0") (< "<") (identifier "iStackY_74")) () ")")) (compound_statement "{\n          piVar6 = piVar9;\n          pdVar8 = pdVar12;\n          do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);\n        }" ({ "{") (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" (identifier "piVar6") (= "=") (identifier "piVar9")) (; ";")) (expression_statement "pdVar8 = pdVar12;" (assignment_expression "pdVar8 = pdVar12" (identifier "pdVar8") (= "=") (identifier "pdVar12")) (; ";")) (do_statement "do {\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          } while (piVar6 != piVar9 + iStackY_74);" (do "do") (compound_statement "{\n            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);\n            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;\n            piVar6 = piVar6 + 1;\n            pdVar8 = pdVar8 + 1;\n          }" ({ "{") (expression_statement "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);" (assignment_expression "pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8)" (identifier "pdVar5") (= "=") (cast_expression "(double *)(*piVar6 + (int)pdVar13 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar6 + (int)pdVar13 * 8)" (( "(") (binary_expression "*piVar6 + (int)pdVar13 * 8" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (+ "+") (binary_expression "(int)pdVar13 * 8" (cast_expression "(int)pdVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar13")) (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;" (assignment_expression "*pdVar5 = *pdVar8 * *pdVar11 + *pdVar5" (pointer_expression "*pdVar5" (* "*") (identifier "pdVar5")) (= "=") (binary_expression "*pdVar8 * *pdVar11 + *pdVar5" (binary_expression "*pdVar8 * *pdVar11" (pointer_expression "*pdVar8" (* "*") (identifier "pdVar8")) (* "*") (pointer_expression "*pdVar11" (* "*") (identifier "pdVar11"))) (+ "+") (pointer_expression "*pdVar5" (* "*") (identifier "pdVar5")))) (; ";")) (expression_statement "piVar6 = piVar6 + 1;" (assignment_expression "piVar6 = piVar6 + 1" (identifier "piVar6") (= "=") (binary_expression "piVar6 + 1" (identifier "piVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pdVar8 = pdVar8 + 1;" (assignment_expression "pdVar8 = pdVar8 + 1" (identifier "pdVar8") (= "=") (binary_expression "pdVar8 + 1" (identifier "pdVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar6 != piVar9 + iStackY_74)" (( "(") (binary_expression "piVar6 != piVar9 + iStackY_74" (identifier "piVar6") (!= "!=") (binary_expression "piVar9 + iStackY_74" (identifier "piVar9") (+ "+") (identifier "iStackY_74"))) () ")")) (; ";")) (} "}"))) (expression_statement "pdVar13 = (double *)((int)pdVar13 + 1);" (assignment_expression "pdVar13 = (double *)((int)pdVar13 + 1)" (identifier "pdVar13") (= "=") (cast_expression "(double *)((int)pdVar13 + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar13 + 1)" (( "(") (binary_expression "(int)pdVar13 + 1" (cast_expression "(int)pdVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar13")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pdVar11 = pdVar11 + 1;" (assignment_expression "pdVar11 = pdVar11 + 1" (identifier "pdVar11") (= "=") (binary_expression "pdVar11 + 1" (identifier "pdVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pdVar13 != pdVar18)" (( "(") (binary_expression "pdVar13 != pdVar18" (identifier "pdVar13") (!= "!=") (identifier "pdVar18")) () ")")) (; ";")) (} "}"))) (return_statement "return pdVar5;" (return "return") (identifier "pdVar5") (; ";")) (} "}"))) (return_statement "return *(double **)PTR___stack_chk_guard_003fa248;" (return "return") (pointer_expression "*(double **)PTR___stack_chk_guard_003fa248" (* "*") (cast_expression "(double **)PTR___stack_chk_guard_003fa248" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_003fa248"))) (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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: (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)))) (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (do_statement body: (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) (identifier) (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (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)) (number_literal) (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)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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) 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)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (return_statement (identifier)))) (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))))

double * MASKED(double *param_1)

{
  int iVar1;
  int iVar2;
  float *pfVar3;
  int iVar4;
  double *pdVar5;
  int *piVar6;
  int *piVar7;
  double *pdVar8;
  int *piVar9;
  double *pdVar10;
  double *pdVar11;
  double *pdVar12;
  double *pdVar13;
  int iVar14;
  int iVar15;
  undefined4 uVar16;
  undefined *puVar17;
  double *pdVar18;
  undefined4 uVar19;
  double dVar20;
  int iVar21;
  int iStackY_74;
  double local_40;
  double *local_34;
  
  local_34 = *(double **)PTR___stack_chk_guard_003fa248;
  iVar15 = *(int *)(param_1 + 3);
  iVar14 = *(int *)(iVar15 + 0x1c);
  iVar1 = (*(code *)PTR_omp_get_num_threads_003fa924)();
  iVar2 = (*(code *)PTR_omp_get_thread_num_003fa520)();
  if (iVar1 == 0) {
    trap(7);
  }
  iVar21 = iVar14 / iVar1;
  iVar14 = iVar14 % iVar1;
  if (iVar2 < iVar14) {
    iVar21 = iVar21 + 1;
    iVar14 = 0;
  }
  iVar1 = iVar21 * iVar2 + iVar14;
  iVar21 = iVar21 + iVar1;
  if (iVar1 < iVar21) {
    dVar20 = *param_1;
    iVar2 = *(int *)(param_1 + 2);
    uVar19 = *(undefined4 *)((int)param_1 + 0xc);
    uVar16 = *(undefined4 *)(param_1 + 1);
    do {
      if (*(int *)((int)param_1 + 0x1c) != 0) {
        iVar14 = iVar2;
        pfVar3 = (float *)(*(code *)PTR_QueueCacheViewAuthenticPixels_003f9c68)
                                    (iVar2,0,iVar1,*(undefined4 *)(iVar15 + 0x18),1,uVar19);
        if (pfVar3 == (float *)0x0) {
          *(undefined4 *)((int)param_1 + 0x1c) = 0;
        }
        else {
          iVar14 = 0;
          if (0 < *(int *)(iVar15 + 0x18)) {
            do {
              iVar4 = (*(code *)PTR_GetMatrixElement_003fa284)(uVar16,iVar14,iVar1,&local_40);
              if (iVar4 != 0) {
                local_40 = (local_40 - **(double **)((int)param_1 + 0x14)) * dVar20;
                *pfVar3 = (float)local_40;
                pfVar3 = pfVar3 + *(int *)(iVar15 + 0x2c0);
              }
              iVar14 = iVar14 + 1;
            } while (iVar14 < *(int *)(iVar15 + 0x18));
          }
          iVar14 = iVar2;
          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003fa510)(iVar2,uVar19);
          if (iVar4 == 0) {
            *(undefined4 *)((int)param_1 + 0x1c) = 0;
          }
        }
      }
      iVar1 = iVar1 + 1;
    } while (iVar21 != iVar1);
  }
  if (local_34 != *(double **)PTR___stack_chk_guard_003fa248) {
    puVar17 = PTR___stack_chk_fail_003fa07c;
    (*(code *)PTR___stack_chk_fail_003fa07c)();
    pdVar18 = (double *)(puVar17 + 0x2db5bc);
    if (iVar14 == 0) {
      (**(code **)(puVar17 + 0x2d432c))
                (*(int *)(puVar17 + 0x2d35f4) + 0x394,*(int *)(puVar17 + 0x2d35f4) + 0x300,0x2f1,
                 *(int *)(puVar17 + 0x2d35f4) + 0x3f0);
    }
    else if (*(int *)(iVar14 + 0x102c) == -0x54535255) {
      return *(double **)(iVar14 + 8);
    }
    pdVar12 = (double *)(*(int *)(puVar17 + 0x2d35f4) + 0x3f0);
    pdVar10 = (double *)&DAT_000002f2;
    piVar9 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x300);
    piVar7 = (int *)(*(int *)(puVar17 + 0x2d35f4) + 0x354);
    (**(code **)(puVar17 + 0x2d432c))();
    pdVar5 = pdVar18;
    if (0 < (int)pdVar18) {
      pdVar13 = (double *)0x0;
      pdVar11 = pdVar10;
      do {
        piVar6 = piVar7;
        pdVar8 = pdVar10;
        do {
          pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);
          *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;
          piVar6 = piVar6 + 1;
          pdVar8 = pdVar8 + 1;
        } while (piVar6 != piVar7 + (int)pdVar18);
        if (0 < iStackY_74) {
          piVar6 = piVar9;
          pdVar8 = pdVar12;
          do {
            pdVar5 = (double *)(*piVar6 + (int)pdVar13 * 8);
            *pdVar5 = *pdVar8 * *pdVar11 + *pdVar5;
            piVar6 = piVar6 + 1;
            pdVar8 = pdVar8 + 1;
          } while (piVar6 != piVar9 + iStackY_74);
        }
        pdVar13 = (double *)((int)pdVar13 + 1);
        pdVar11 = pdVar11 + 1;
      } while (pdVar13 != pdVar18);
    }
    return pdVar5;
  }
  return *(double **)PTR___stack_chk_guard_003fa248;
}

